Ecco un breve riepilogo delle sezioni principali aggiunte al file web.config per l'utilizzo di Asp.Net ajax nelle nostre applicazioni WEB:

Ci sono 7 sezioni da modificare per modificare una applicazione web in modo da abilitare le estensioni AJAX:

  1. La prima sezione da modificare è la sezione <configSections> che definisce configuration sections addizionali necessarie per ASP.Net Ajax
    <configSections>
       <sectionGroup name=”system.web.extensionstype=”System.Web.Configuration.SystemWebExtensionsSectionGroup,
             System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
             PublicKeyToken=31bf3856ad364e35>
          <sectionGroup name=”scriptingtype=”System.Web.Configuration.ScriptingSectionGroup, 
             System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
    PublicKeyToken=31bf3856ad364e35> <section name=”scriptResourceHandlertype=”System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35requirePermission=”falseallowDefinition=”MachineToApplication/> <sectionGroup name=”webServicestype=”System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35> <section name=”jsonSerializationtype=”System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35requirePermission=”falseallowDefinition=”Everywhere/> <section name=”profileServicetype=”System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35requirePermission=”falseallowDefinition=”MachineToApplication/> <section name=”authenticationServicetype=”System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35requirePermission=”falseallowDefinition=”MachineToApplication/> </sectionGroup> </sectionGroup> </sectionGroup> </configSections>
  2. La sezione <controls> situato nella sezione <pages> all'interno della sezione <system.web> per avere a disposizione in tutte le pagine i nuovi controlli messi a disposizione da Ajax (UpdatePanel, ScriptManager ecc. ecc.)
    <add tagPrefix=”aspnamespace=”System.Web.UIassembly=”System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,    
    PublicKeyToken=31bf3856ad364e35/>
  3. Per fare funzionare correttamente la refernza ai nuovi controlli asp.net Ajax la dll delle estensioni ajax devono essere refernziate correttamente dall'applicazione web. Tale referenza può essere indicata nella sezione <assemblies> all'interno della sezione <compilation> anch'essa all'interno della sezione <system.web>
    <compilation debug=”false>
       <assemblies>
          <add assembly=”System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
             PublicKeyToken=31bf3856ad364e35/>
       </assemblies>
    </compilation>
  4. ASP.Net Ajax ha bisogno di numerosi handler per funzionare correttamente, bisogna quindi aggiungere o modificare i seguenti handler nella sezione <httpHandlers> all'interno della sezione <web.config>
    <httpHandlers>
       <remove verb=”*“ path=”*.asmx/>
       <add verb=”*“ path=”*.asmxvalidate=”falsetype=”System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions,
          Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35/>
       <add verb=”*“ path=”*_AppService.axdvalidate=”falsetype=”System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions,
          Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35/>
       <add verb=”GET,HEADpath=”ScriptResource.axdtype=”System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions,
          Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35validate=”false/>
    </httpHandlers>
  5. Inoltre per alcune delle sue funzionalità di scripting ASP.Net ajax ha bisogno di alcuni HTTP Module. Bisognerà quindi aggiungere o modificare la sezione <httpModules> all'interno della sezione <web.config>
    <httpModules>
       <add name=”ScriptModuletype=”System.Web.Handlers.ScriptModule,
          System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
          PublicKeyToken=31bf3856ad364e35/>
    </httpModules>
  6. Esiste inoltre un'altra sezione, all'interno della "root" <configuration>, opzionale, per ulteriori configurazioni. Tale sezione è la <system.web.extensions>
    <system.web.extensions>
       <scripting>
          <webServices>
          </webServices>
       </scripting>
    </system.web.extensions>
  7. Infine la sezione <system.webServer> serve per alcune configurazioni per IIS7, tale sezione è opzionale, naturalmente è inutile nel caso di deploy in versioni precedenti di IIS
    <system.webServer>
       <validation validateIntegratedModeConfiguration=”false/>
       <modules>
          <add name=”ScriptModulepreCondition=”integratedModetype=”System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0,
             Culture=neutral, PublicKeyToken=31bf3856ad364e35/>
       </modules>
       <handlers>
          <remove name=”WebServiceHandlerFactory-Integrated/>
          <add name=”ScriptHandlerFactoryverb=”*“ path=”*.asmxpreCondition=”integratedModetype=”System.Web.Script.Services.ScriptHandlerFactory,
             System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
             PublicKeyToken=31bf3856ad364e35/>
          <add name=”ScriptHandlerFactoryAppServicesverb=”*“ path=”*_AppService.axdpreCondition=”integratedModetype=”System.Web.Script.Services.ScriptHandlerFactory,
             System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
             PublicKeyToken=31bf3856ad364e35/>
          <add name=”ScriptResourcepreCondition=”integratedModeverb=”GET,HEADpath=”ScriptResource.axdtype=”System.Web.Handlers.ScriptResourceHandler,
             System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
             PublicKeyToken=31bf3856ad364e35/>
       </handlers>
    </system.webServer>

Con queste modifiche l'applicazione WEB è pronta per l'utilizzo dei controlli ASP.Net Ajax.