출처 : http://dialup.egloos.com/1293002

 아직도 .NET에 대해서는 생초보를 벗어나지 못하여, 문제가 생기면 검색을 통해서 문제 해결을
하는 경우가 많다. 당연히 "시키는 대로 할 뿐"이며 이해를 충분히 하지 못하고 넘어가는 경우가
있다. 개발자에게 두려운 것 중의 하나가 "왜? 어떻게? 해결이 되었는지.." 모르면서 해결이 되어
버린 경우인데 그런 경우가 많다. 특히나 초보자에게는 너무 낯설기만 한 설정파일(web.config)는
바라보는 것 만으로도 괴로움을 주는데, 여러가지 trouble shooting 검색 결과를 적용하다 보면
도대체 어떤 것 때문에 해결이 되었는지 모르는 난망한 경우가 많이 생긴다.

 .NET에서 AJAX를 사용하고 싶을 때는 설치된 .NET framework버전에 따라 아래와 같이 작업을 한다.
1. .NET 3.5 SP1이 설치되어 운영되는 서버의 경우
2. .NET 3.5 SP1이 설치되어 있지 않는 서버의 경우

#1의 경우는 추가적인 모듈의 설치가 필요가 없다. .NET 3.5 SP1에 관련 모듈들이 모두 integrate
되어 있기 때문이다. 하지만 .NET 3.5 SP1이 설치되어 있지 않는 시스템의 경우는 추가적인 모듈의
설치가 필요하다.


(web.config설정)
아래의 설정 값들을 web.config에 추가하면 AJAX를 사용할 수 있다.


☞.NET 3.5 SP1의 경우
------------------------------------------------------------------------------------------
<configSections>
  ......
  <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
    <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <section name="scriptResourceHandler"type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
        <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
        <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"requirePermission="false" allowDefinition="MachineToApplication" />
      </sectionGroup>
    </sectionGroup>
  </sectionGroup>
</configSections>

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

  <httpHandlers>
    ......
    <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
  </httpHandlers>

  <httpModules>
    ......
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </httpModules>
</system.web>
------------------------------------------------------------------------------------------


☞.NET 3.5 SP1 아래 버전의 경우
------------------------------------------------------------------------------------------
<configSections>
  <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
    <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <section name="scriptResourceHandler"type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
        <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
        <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"requirePermission="false" allowDefinition="MachineToApplication" />
      </sectionGroup>
    </sectionGroup>
  </sectionGroup>
</configSections>

<system.web>
  <pages ......>
    <controls>
      ......
      <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </controls>
  </pages>

  <compilation>
    <assemblies>
      ......
      <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </assemblies>
  </compilation>
 
  <httpHandlers>
    ......
    <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
  </httpHandlers>

  <httpModules>
    ......
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </httpModules>
</system.web>
------------------------------------------------------------------------------------------


(필수 모듈 설치) !!.NET 3.5 SP1에서는 필요없는 작업이다.
Download ASP.NET AJAX Extensions 1.0
Installing ASP.NET AJAX Version 1.0
Configuring ASP.NET AJAX Version 1.0

Download ASP.NET AJAX관련 설치 파일들

*혹시 Visual Studio에서 AJAX관련 도구가 보이지 않는다면, 아래의 메뉴에서 "대상 프레임워크"가 3.5로
세팅이 되어 있는지 확인하자. (Visual Studio 2008 Express edition기준)
메뉴 -> 웹사이트 -> 시작 옵션 -> 빌드
!!세팅을 변경하기 전 꼭 web.config를 backup받아 놓는다. 세팅을 왜냐하면 변경하면서 tool에서 자동으로
  설정값을 변경하기 때문이다.

※개발자 PC에 .NET 3.5 SP1이 설치가 되어 있지 않는 경우는 모르겠음.

'Programming > AJAX' 카테고리의 다른 글

CascadingDropDown 속성  (0) 2010.03.29
AJAX TOOL KIT 도구 상자에 설치하기  (0) 2010.03.27
AJAX 1.0 설치하기  (0) 2010.03.27

+ Recent posts