달력

03

« 2010/03 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

PDF 문서는 상당히 강력한 기능을 제공하지만, 많은 내용이 담긴 문서의 경우에는 그 용량 또한 무지하지 못할 정도로 커지게 되므로, 웹 상에서 배포할 할 때는 파일이 클라이언트로 모두 다운로드될 때 까지 대기 해야만 합니다.

구글도서나 YES24와 같은 사이트에는 즉시 응답성을 위해서 이미지 포맷을 이용하여 미리보기를 제공하여 즉시 응답성을 높이고 있는데요. 그래서 PDF 문서를 이미지로 변환하여 웹 상에서 제공할 수 있지 않을까 하고 생각해 보았습니다.

이미지로 변환하는 기능은 Acrobat에서 제공하고 있으므로, C#에서도 Acrobat의 기능을 이용하여 PDF를 이미지로 변경하는 것이 가능합니다.
이미지로 변환하기 위해서는 우선 Adobe Acrobat이 설치되어 있어야 합니다.
애석하게도 Acrobat Reader는 Acrobat관련 인터페이스를 인스턴스화 할 수 있는 COM 인터페이스를 노출하지 않으므로, 사용할 수 가 없습니다.

이미지 변환을 위해서 우선 프로젝트에 Acrobat Type Library를 COM 항목에서 참조로 추가합니다.
아래와 같이 Acrobat 또는 Adobe Acrobat Type Library를 참조로 추가하여 주세요.


그리고, 변환을 하는 코드는 아래와 같습니다.

// 아크로벳 문서­ 객체를 생성하고, 지정한 파일명의 PDF 문서­를 읽어들입니다.

Acrobat.AcroPDDoc pdfDoc = new Acrobat.AcroPDDoc();

bool ret = pdfDoc.Open(fileName);

if (ret == false)

{

    throw new FileNotFoundException();

}

 

// 아크로벳 문서­의 전체 페이지 수를 가져옵니다.

int totalPage = pdfDoc.GetNumPages();

int currentPage = 0;

 

// 문서­에서­ 지정한 번호의 페이지를 아크로벳 페이지 객체로 받아옵니다.

Acrobat.AcroPDPage pdfPage = (Acrobat.AcroPDPage)pdfDoc.AcquirePage(currentPage);

 

// 이미지로 만들기 위한 영역을 지정합니다.

Acrobat.AcroPoint pdfSize = (Acrobat.AcroPoint)pdfPage.GetSize();

Acrobat.AcroRect pdfRect = new Acrobat.AcroRect();

pdfRect.Left = 0;

pdfRect.right = pdfSize.x;

pdfRect.Top = 0;

pdfRect.bottom = pdfSize.y;

 

// 페이지의 지정된 영역을 100% 크기로 클립보드에 이미지 형태로 복사합니다.

pdfPage.CopyToClipboard(pdfRect, 0, 0, 100);

 

// 클립보드에 저장된 이미지를 파일로 저장합니다.

IDataObject clipboardData = Clipboard.GetDataObject();

if (clipboardData.GetDataPresent(DataFormats.Bitmap))

{

    Bitmap pdfBitmap = (Bitmap)clipboardData.GetData(DataFormats.Bitmap);

    pdfBitmap.Save("1.jpg");

}

문제가 발생 시에는 댓글을 남겨주세요.

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
TAG C#, PDF
Posted by WHiSTLE
Visual Studio 2010 Beta 2 에서는 UnitTest에 대한 Code Coverage 활성화하는 설정방법이 변경되었습니다.
Visual Studio 2008에서의 Test Setting 과 Visual Studio 2010에서의 Test Setting이 달라서 한동안 애를 먹었는데요.

Visual Studio 2010 Beta 2에서 Code Coverage 를 사용하기 위한 방법은 아래와 같습니다.

  1. 테스트 프로젝트가 포함된 솔루션에서 Solution Items 폴더 아래에 존재하는 Local.testsettings 파일을 더블 클릭하여 엽니다.

  2. Data and Diagnostics 항목을 선택합니다.
  3. Code Coverage 항목의 Enabled 를 체크합니다.

  4. Configure 버튼을 클릭하면, Code Coverage Detail 창이 뜹니다.

  5. Code Coverage 대상이 될 어셈블리를 선택합니다.

유닛테스트 실행 후 Code Coverage Results 창을 통해 Code Coverage 정보를 확인 할 수 있습니다.

저작자 표시 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by WHiSTLE

집에 있는 데스크톱 컴퓨터에 문제가 생겨서 포맷을 하고 재설치중입니다.
운영체제 및 업데이트는 대충 다 이뤄진듯 하고 이제 Visual Studio를 설치하고 개발환경을 셋팅하고 있는데요.
그동안은 집에서는 영문버전 Visual Studio를 사용했었는데 이번에는 아무리 찾아도 영문판 Visual Studio 설치DVD가 보이질 않아서 어쩔수 없이 한글판 Visual Studio를 설치하였습니다.
얼마 전 Visual Studio 2008 SP1의 경우에는 이미 한글판이 출시되어 있어서 설치를 했습니다. 하지만, 이번 SP1의 경우에는 ASP.NET MVC 는 포함되지 않아서 아직 ASP.NET MVC의 경우에는 아직 한글판이 존재하지 않습니다. 물론, 현재 배포버전인 MVC Preview 3이후에 Preview 4가 나올 듯 하니 아직까지 정식버전 및 한글지원 버전은 좀 더 기다려야 할 듯 합니다.

하지만, 저같은 경우에는 이전에 MVC로 진행하던 것도 있고 해서 ASP.NET MVC Preview 3를 설치하였습니다. 설치시에는 문제가 없었지만, Visual Studio 실행시 새 프로젝트에서 "ASP.NET MVC Web Application" 프로젝트가 보이질 않았습니다. 설치는 정상적으로 이뤄졌는데, 프로젝트 템플릿이 제대로 로드가 되지 않는듯 하여, 인터넷을 뒤지기 시작했습니다.

역시, 제가 생각하는 것은 이미 다른 누군가가 고맙게도 해결책을 내놓아 두었더군요.
이번의 경우에는 taeyo.net에서 찾았습니다.

[MVC] MVC 애플리케이션 개발환경 설정 글과
VS2008 한글 RTM 설치후 추가 작업 해야할 것들 이라는 두개의 글에 걸쳐서 해결방법이 제시되어 있었습니다.

다음을 위해서 여기에 정리해 두자면,
설치후 프로젝트 템플릿이 로드 되지 않는 이유는 영문판과 한글판의 경우 프로젝트 템플릿이 저장되는 경로(버전)이 다르기 때문이며, 영문 버전(1033)폴더에 등록되어 있는 프로젝트 템플릿파일(zip파일)을 한글 버전(1042)폴더로 복사해 넣고, 등록과정을 거치면 사용이 가능합니다.
유의할 점은 ASP.NET MVC의 경우 WEB 프로젝트 외에 Test 프로젝트 템플릿도 함께 등록해줘야 합니다. ASP.NET MVC는 MVC용 테스트 프로젝트가 따로 존재하기 때문입니다.
그리고, 프로젝트에서 추가할 수 있는 Controller 클래스등의 아이템 템플릿들도 등록해야 합니다.

  1. ASP.NET MVC 프로젝트 템플릿 복사
    C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033 폴더(VS 영문판용 폴더)에 존재하는 MvcWebApplicationProjectTemplateP3.cs.zip 파일을
    C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Web\1042 폴더(VS 한글판용 폴더)로 복사한다.
  2. ASP.NET MVC용 테스트 프로젝트 템플릿 복사
    C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Test\1033 폴더(VS 영문판용 폴더)에 존재하는
    MvcWebApplicationTestProjectTemplateP3.cs 파일을
    C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Test\1042 폴더(VS 한글판용 폴더)로 복사한다.
  3. MVC용 아이템 템플릿을 생성
    MVC용 아이템 템플릿은 영문판용 폴더만 존재하고 한글판용 폴더는 존재하지 않습니다.
    C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC\1033 폴더에 포함된 파일들을
    C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC\1042 폴더를 새로 생성하여 추가합니다.
  4. Visual Studio 2008 명령 프롬프트에서
    devenv.exe /installvstemplates
    devenv.exe /setup

    명령을 실행한다.

MVC Project가 추가된 화면

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by WHiSTLE

.NET 프로그래밍시에 기존에 존재하는 어셈블리의 상세한 정보가 필요한 경우가 간혹있습니다.
오늘 저같은 경우에는 ASP.NET에서 web.config에 컨트롤의 tagPrefix를 지정하기 위해서 에셈블리를 등록이 필요하게 되었습니다.

<pages>
  <controls>
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </controls>
</pages>

네임스페이스는 이미 알고 있지만 assembly의 상세한 정보를 어떻게 하면 알수 있을까 하다가 구글검색을 통해서 알게된 프로그램이 .NET Assembly Information입니다.

다운로드 링크: http://www.codeplex.com/AssemblyInformation

CodePlex에 오픈소스 프로젝트로 진행되고 있으며, 탐색기와 통합되어 동작합니다.
출력되는 정보는

  • 컴파일 모드(Debug/Release)
  • .NET 어셈블리 전체 이름
  • 참조하고 있는 어셈블리정보

가 있습니다. 탐색기에서 .NET 어셈블리를 선택하면 Assembly Information 기능이 활성화되고(Vista), 오른쪽 클릭하면 "Assembly Information" 메뉴가 나타납니다.

탐색기와의 통합

실행화면에서는 위의 설명과 같이 컴파일 모드 및 전체이름, 참조 어셈블리 정보를 볼수 있습니다.

실행화면

구성파일에서 어셈블리를 등록할 필요가 있다던가, 참조된 어셈블리의 확인이 필요할때등에 유용하게 사용할 수 있는 유틸리티가 아닌가 합니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
TAG .NET, assembly
Posted by WHiSTLE

오랫동안 기다리던 Visual Studio 2008 정식판이 금일 출시되었습니다.


기대가 컸던 ADO.NET Entity Framework 뿐만 아니라 새로운 기능들이 다수 포함되어 있습니다.


Beta 기간동안은 한글판  Visual Studio 에서는 설치가 제대로 되지 않은 문제가 있었는데..


이번 정식버전이 출시되면서 한글판도 함께 출시되어 이제 한글판 Visual Studio에서도 해당기능들을


이용할 수 있게 되었습니다.


http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx


SP1 설치파일 다운로드


포함된 기능을 보자면


  • WPF 디자이너 향상
  • ADO.NET Entity Framework
  • ADO.NET Data Services
  • ASP.NET Dynamic Data
  • ASP.NET AJAX browser history
  • ASP.NET AJAX script combining

등이 있습니다.


설치후 Visual Studio 정보화면입니다.



RTM의 경우 9.0.21022.8 RTM 으로 표시되던 버전이 9.0.30729.1 SP로 표시되는군요.


새 프로젝트 화면의 Web부분입니다.



새로생긴 Dynamic Data 관련 웹응용프로그램 프로젝트가 보입니다.


하지만, 이번  서비스팩1에 ASP.NET MVC는 포함되지 않은 듯 하네요. ASP.NET MVC는 아직 Preview3 만 공개되어 있는 상태이걸로


따로 출시가 이뤄질 듯 합니다.


새 항목 추가화면입니다.



제일 상단에 ADO.NET 엔티티 데이터 모델 항목이 눈에 띄는 군요. LINQ to SQL 의 약점이 얼마나 보완되었을지 빨리 사용해보고 싶네요.


각 항목별 상세한 내용은 다음에 기회를 잡아서 따로 포스팅을 하도록 하겠습니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by WHiSTLE

Visual Studio 2008 RTM버전이 출시되면서 Keybinding Poster가 나왔군요.

Visual Studio의 단축키 일람을 일목요연하게 표시해놓은 포스터입니다. 한번씩 시간날때 마다 익혀두면 상당히 유용하더라구요.
아래에서 다운로드 하실 수 있습니다.

Visual C# : Visual C# 2008 Keybinding Reference Poster
Visual Basic : Visual Basic 2008 Keybinding Reference Poster

혹시나 필요하실지 몰라 2005버전 다운로드 링크도 걸어둡니다.

Visual C# 2005 : Visual C# 2005 Keyboard Shortcut Reference Poster
Visual Basic 2005 : Visual Basic 2005 Keyboard Shortcut Reference Poster

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by WHiSTLE

Visual Studio의 재시작시에 CopySourceAsHtml에서 오류가 발생하는 문제의 해결방법을 첨부합니다. (2007.10.18)

블로그나 게시판등에 Visual Studio에서 개발하던 소스를 추가하기 위해서 복사&붙여넣기를 하면 탭간격이나 글꼴등의 문제로 인해서 직접 다듬어야 하는 경우가 자주 발생합니다.
개발자라면 누구나 느끼는 문제일텐데요.

Visual Studio를 이용하고 계시는 분이라면 이러한 불편함을 말끔하게 해소해 주는 Visual Studio Addin을 유경상님께서 블로그에 소개시켜주시고 있습니다.

CopySourceAsHtml 이라는 Addin인데요. 원본파일은 한글문제와 여러가지 문제가 존재하여 감사하게도 유경상님께서 따로 한글환경에서도 문제없이 돌아가는 버전까지 공개해주시고 계시죠.

좀더 자세한 내용을 알고 싶으시거나 자료를 다운로드 받고자 하시는 분은 유경상님 블로그로 방문해보세요.

(저 같은 경우에는 유경상님 블로그에서 받은 파일로 Visual Studio 2008에 등록시에 최초에는 잘 실행이 되었지만, 재 시작시에 CopySourceAsHtml에서 오류가 발생하였습니다. 이 부분의 수정과 적용에 관해서는 글 하단에서 다루도록 하겠습니다. 2007.10.18)

문제는 이 CopySourceAsHtml이 Visual Studio 2005용 Addin이라는 거죠. 물론 원본 배포사이트에는 2003버전용도 존재합니다만, 아직 Visual Studio 2008용은 배포를 하고 있지 않죠.

Visual Studio 2008이 아직 beta이긴 하지만, 이전 .NET Framework버전에 대한 프로그래밍이 가능하므로 많은 분이 사용하고 계실텐데요. 2005용 Addin을 Addins폴더로 복사만 해넣어서는 제대로 동작하질 않죠. 하지만 유용하게 하던 기능이 없으면 엄청 불편하죠..^^;

이리 저리 궁리하던차에 CopySourceAsHtml을 Visual Studio 2008에 등록시키는데 성공하여 공유차원에서 포스팅을 합니다.

  1. 우선 CopySourceAsHtml을 이용하고 계시다면 %문서%\Visual Studio 2005\Addins\ 폴더에 존재하는 CopySourceAsHtml.AddIn, CopySourceAsHtml.dll, CopySourceAsHtml.dll.config 3개 파일을 %문서%\Visual Studio 2008\Addins\ 또는 %문서%\Visual Studio Codename Orcas\Addins\ 폴더로 복사해 줍니다.(Addins 폴더가 존재하지 않는다면 만들어주면 됩니다.)
  2. 복사 되었으면 CopySourceAsHtml.AddIn 파일을 편집기로 엽니다. XML형식이므로 원하는 텍스트 편집기를 이용하시면 됩니다.
    열어보시면 <HostApplication> 이라는 태그 하위태그로 <Version>이라는 태그들의 내용을 8.0 에서 9.0으로 변경해주세요.

    <?xml version="1.0" encoding="UTF-16" standalone="no"?>

    <Extensibility xmlns="http://schemas.microsoft.com/AutomationExtensibility">

        <HostApplication>

            <Name>Microsoft Visual Studio Macros</Name>

            <Version>9.0</Version>

        </HostApplication>

        <HostApplication>

            <Name>Microsoft Visual Studio</Name>

            <Version>9.0</Version>

        </HostApplication>

        <Addin>

            <FriendlyName>CopySourceAsHtml</FriendlyName>

            <Description>Adds support to Microsoft Visual Studio 2005 for copying source code, syntax highlighting, and line numbers as HTML. (Modified by Loner, SimpleIsBest.NET)</Description>

            <Assembly>CopySourceAsHtml.dll</Assembly>

            <FullClassName>JTLeigh.Tools.CopySourceAsHtml.Connect</FullClassName>

            <LoadBehavior>1</LoadBehavior>

            <CommandPreload>0</CommandPreload>

            <CommandLineSafe>0</CommandLineSafe>

        </Addin>

    </Extensibility>

  3. 저장하신후 Visual Studio 2008을 실행하시고, Tools - Add-in Manager(도구 - 추가기능관리자)를 실행하고 활성화 시켜 줍니다.
     
  4. 이제 Visual Studio 2008에서도 CopySourceAsHtml을 사용하실 수 있습니다.

 

VisualStudio 시작시 오류해결방법 (2007.10.18 추가)

한번 Visual Studio를 실행하면 퇴근할때까지는 잘 종료를 안하다 보니 오늘에서야 Visual Studio를 재시작시에 CopySourceAsHtml 에서 오류가 발생한다는 것을 알게되었습니다.
확실히 점검하지 않고 글을 등록한점 정말 죄송합니다. ( _ _ )
저는 Vista환경에 Visual Studio 2008은 beta2 영문판이 설치되어 있으며, Visual Studio 2005는 한글판이 설치되어 있는데, 2005, 2008 모두에서 문제가 발생하더군요.
또한 프로젝트 속성 클릭시에서 오류가 발생하고 있었습니다.

우선 발생하는 문제들을 해결하는 방법은 유경상님의 포스트 하단 댓글로 작성된 "하늘로사랑한신발" 박길선님의 홈페이지 잘 소개되어 있습니다. (박길선님께 감사드립니다)

우선 원본 배포사이트에서 "CopySourceAsHtml 2.0.0 Source (91 KB)" 를 다운로드 받습니다.

박길선님 홈페이지로 들어가셔서 "Copy Source As Html" rev 0.2 게시물에 적혀 있는데로 코드를 수정합니다.

그런데, 박길선님 홈페이지 등록된 수정방법대로 수정후에 반영시키면 한글을 제대로 인식하지 못하는 문제가 발생합니다. 유경상님 소스를 역컴파일하여 수정하시어 소스는 역시 공개하지 않으셨네요. 하지만 문제만 해결한다고 해서 한글이 지원되지 않으면 아무런 필요가 없죠.. -_-;

한글 문제를 해결하기 위해서는 RtfParser.cs를 추가로 아래와 같이 수정하셔야 합니다.
우선은 아래와 같이 수정하시면 한글을 지원합니다. 유경상님 님께서 동일하게 수정하셨는지는 몰라도 역컴파일하지 않았으니 상관없겠죠? 66 - 69 라인을 추가해주시면 됩니다.

RtfParser.cs

   25 protected void ParseRtf(string rtf)

   26 {

   27 

   28     int first;

   29     int last;

   30     int index;

   31     int mark;

   32     string controlWord;

   33     bool hasParameter;

   34     long parameter;

   35 

   36     first = 1;

   37     last = rtf.Length - 1;

   38     for (index = first; index < last; index++)

   39     {

   40 

   41         switch (rtf[index])

   42         {

   43             case '{':

   44                 index += ParseOpeningBrace(rtf, index + 1);

   45                 break;

   46             case '}':

   47                 index += ParseClosingBrace(rtf, index + 1);

   48                 break;

   49             case '\\':

   50                 index++;

   51                 if (char.IsLetter(rtf[index]))

   52                 {

   53                     mark = index;

   54                     while ((index < last) && (char.IsLetter(rtf[index])))

   55                     {

   56                         index++;

   57                     }

   58                     controlWord = rtf.Substring(mark, index - mark);

   59                     if ((index < last) && ((char.IsDigit(rtf[index])) || (rtf[index] == '-')))

   60                     {

   61                         mark = index;

   62                         while ((index < last) && ((char.IsDigit(rtf[index])) || (rtf[index] == '-')))

   63                         {

   64                             index++;

   65 

  66                             if (controlWord.Equals("uc"))

   67                             {

   68                                 break;

   69                             }

   70                         }

   71                         hasParameter = true;

   72                         parameter = Int64.Parse(rtf.Substring(mark, index - mark));

   73                     }

   74                     else

   75                     {

   76                         hasParameter = false;

   77                         parameter = 0;

   78                     }

   79                     if (rtf[index] != ' ')

   80                     {

   81                         index--;

   82                     }

   83                     index += ParseControlWord(rtf, index + 1, controlWord, hasParameter, parameter);

   84                 }

   85                 else

   86                 {

   87                     index += ParseControlSymbol(rtf, index + 1, rtf[index]);

   88                 }

   89                 break;

   90             case '\r':

   91             case '\n':

   92                 break;

   93             default:

   94                 index += ParseLiteralText(rtf, index + 1, rtf[index]);

   95                 break;

   96         }

   97     }

   98 }

수정완료후 Build 하시고 CopySourceAsHtml.dll 파일과 CopySourceAsHtml.pdb 파일을 AddIns폴더로 덮어써주시면 문제가 해결이 되며, 한글도 제대로 출력됩니다.

혹시 문제가 발생하신다면 댓글로 남겨주세요..

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by WHiSTLE
ASP.NET AJAX
그동안 Atlas라고 알려졌고, 정식명칭이 ASP.NET AJAX가 된 Microsoft ASP.NET AJAX가 긴 beta, RC 과정을 마치고 1.0 정식버전을 출시 했군요..

Ajax라는 현재 가장 주목받고 있는 WEB관련 기술을 ASP.NET에서 좀 더 쉽고 빠르게 개발하기 위한 ASP.NET AJAX는 ASP.NET에 그치지 않고, PHP및 기타 다른 플랫폼 언어에 까지 그 발을 넓히고 있습니다.

그 이유는 ASP.NET AJAX가 서버컴포넌트로만 이루어진 것이 아니라, 클라이언트 사이드의 크로스 브라우저 라이브러리를 포함하기 때문인데요..

Atlas 시절에 본바로는 JavaScript의 라이브러리를 제공함으로 JavaScript를 마치 OOP적으로 이용이 가능하며, 자주 쓰이는 함수 및 용법에 대한 캡슐화가 잘 되어 있었습니다.

하지만, 그 클라이언트코드들이 그동안 개발을 해오던 개발자들에게 받아들여질지는 약간 의문스럽더군요.. 이미 익숙해질 대로 익숙해진 JavaScript를 사용하면 좀 불편하기는 하겠지만, 그동안의 사용으로 불편함을 그다지 느끼지 않는 개발자가 많을 테고, ASP.NET AJAX에서 제공하는 클라이언트 라이브러리를 사용하기 위해서는 또 다른 공부가 필요하기 때문이죠..

하지만, ASP.NET AJAX를 이용하면 클라이언트 라이브러리 자체에서 크로스브라우저(플랫폼)을 지원하기 때문에 IE, FF등의 브라우저 환경에 신경쓸 필요가 없어지는 부분에서는 상당히 작업량이 줄어들걸로 예상이 되네요...

서버사이드 코드또한 ASP.NET에서 XmlHttp객체를 이용하기 위해서 클라이언트 스크립트 코드와 새로 작성된 서버로직 페이지를 생성하는 방법이 아닌, 기존 ASP.NET 코드에 ScriptManager라는 서버 컨트롤과 UpdatePanel 서버 컨트롤을 이용하면 되므로 기 작성된 페이지들에 대한 Ajax적용이 간편해졌습니다.

또, ASP.NET AJAX Control Toolkit을  제공함으로서 그동안 좀더 사용자 친화적인 UI를 위하여 JavaScript와의 전쟁을 치러서 만들어내야 만 했던것들을 제공하므로 이부분은 개발자 뿐만이 아니라 디자이너분들께도 많은 도움이 될 수 있을 듯합니다.

설치를 해보고 좀 더 테스트를 해봐야 하겠지만, 현재 트랜드에 맞는 웹페이지를 개발하기 위한 유용한 플랫폼이 될 것은 자명할 것같네요.

ASP.NET AJAX 홈페이지 : http://ajax.asp.net
ASP.NET AJAX 1.0 및 관련 다운로드 : http://ajax.asp.net/downloads/default.aspx?tabid=47
ASP.NET AJAX Docs : http://ajax.asp.net/docs/default.aspx

이전버전이 설치되어 있는 경우에는 VS2005 환경에서는 스키마를 캐싱하므로 인텔리센스에 문제가 생길 수 있다고 합니다.
아래 경로의 내용을 삭제하는 것이 좋다고 하네요..

윈도우XP: C:\Document and Settings\[YourUserName]\Application Data\Microsoft\VisualStudio\8.0\ReflectedSchemas
윈도우 비스타: c:\Users\[YourUserName]\AppData\Roaming\Microsoft\VisualStudio\8.0\ReflectedSchemas
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by WHiSTLE
VisualStudio 2005의 ServicePack1 을 설치를 하려다 보면..
사용자 삽입 이미지

설치초기 오류화면

위의 오류를 만나게 된다.

회사컴퓨터, 집컴퓨터 모두에서 발생하는 현상이어서, 난감하던 차에 관련 Article을 찾았다.

VS.NET 2005 SP1 설치 도중 오류 - 정성태(sysnet.pe.kr)

덕분에 그리 많은 시간을 허비하지 않고 SP1의 설치에 성공했다.

해당오류가 발생할 경우...

관리도구 - 로컬 보안 설정 - 소프트웨어 제한 정책 에 등록이 되어 있지 않다면 새로운 소프트웨어 제한정책을 생성하고,

등록되어 있을 경우 강요의 속성에서 다음사용자에게 소프트웨어 제한정책 적용을

로컬 관리자를 제외한 모든 사용자로 바꾸어 주면 ServicePack1 설치가 된다.
사용자 삽입 이미지

소프트웨어 제한 정책을 이용한 해결


보안관련 부분이 좀 바꼈나 부다.

자동화 시켜줄 것이지.. 무심한 사람들은 서비스팩 설치도 못하겠네..

VisualStudio 2005 SP1 관련 Articles
http://www.simpleisbest.net/archive/2006/12/22/1469.aspx

VisualStudio 2005 SP1 의 수정사항 리스트
http://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=4324
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by WHiSTLE
ASP.NET 프로그래밍에서 서버컨트롤을 사용하면, 프로그래밍이 그만큼 수월해집니다.

마치 VB에서 컨트롤을 올려놓고 사용하듯이 Postback을 이용한 이벤트 기반의 프로그래밍이 가능해지기 때문입니다.

하지만, 이벤트 발생시 마다, 서버로와의 라운드트립이 발생하여 네트워크의 이용량이 증가하므로, 꼭 필요한 경우를 제외하고는 서버컨트롤을 사용하는 것을 권장하지 않고 있습니다.

그리고, 또 하나 서버컨트롤을 사용하여 프로그래밍을 하였을 경우 서버에서 클라이언트로 보내지는 HTML코드를 프로그래머가 직접 핸들링할 수가 없습니다.

서버컨트롤이 만들어질때 지정한 규칙에 의해 HTML을 생성하고 클라이언트로 내려보내기 때문입니다.
요즘같이 웹표준 및 CSS기반의 디자인이 각광받고 있는 시점에서 서버컨트롤에서 생성해내는 HTML코드는 웹표준 및 CSS기반의 디자인과는 거리가 있으며, table기반의 레이아웃으로 구성된 컨틀롤들이 많습니다.

서버컨트롤을 사용한 페이지가 XHTML Validate에 통과하는 것 자체가 상당히 힘듭니다.

이번에, 위 문제를 해결하기 위해서 ASP.NET 2.0 CSS Friendly Control Adapters 1.0 이라는 것이 나왔습니다.

새로운 서버 컨트롤이 아니라 기존 서버컨트롤이 생성해내는 HTML코드를 div 및 CSS기반 형태로 바꿔주는 Adapter입니다.

다운로드 및 참고 URL : http://www.asp.net/cssadapters/

그동안 XHTML 1.0 Strict 또는 XHTML 1.1 규격에 맞추기 힘들던 부분이 많이 개선되었을 듯 합니다.

시간이 나는대로 사용해본후 리뷰를 올리도록 하겠습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by WHiSTLE