Installing ASP.NET 2.0 AJAX Extensions 1.0 in Windows SharePoint Services Version 3.0

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

You must install and configure Microsoft ASP.NET 2.0 AJAX Extensions 1.0 to work in a Windows SharePoint Services 3.0 environment. This topic describes the procedures to install and configure the ASP.NET AJAX 1.0 Extensions. The installation process deploys the ASP.NET AJAX 1.0 assembly (System.Web.Extensions.dll) to the Global Assembly Cache (GAC) and also installs the Microsoft AJAX Library JavaScript files. The configuration process tells Windows SharePoint Services 3.0 how to handle Web Parts that have ASP.NET AJAX functionality. It also registers the server controls as safe for use within Windows SharePoint Services 3.0.

Note that the procedure described below applies to .NET Framework 2.0. If you are using .NET Framework 3.5, change the version number in each of the XML code samples from Version=1.0.61025.0 to Version=3.5.0.0.

Important

You must complete these steps for each front-end Web server in the server farm.

To install Microsoft ASP.NET 2.0 AJAX Extensions

  1. Download ASP.NET AJAX 1.0.

  2. To install the extensions, double-click the .msi file and follow the prompts.

  3. Extend the SharePoint web.config file, which is typically found in a directory with the following structure: drive\inetpub\wwwroot\VirtualDirectories\port number.

    1. Add the following <sectionGroup> elements within the <configSections> element.

        <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>
      
    2. Add the following controls declaration within the <pages> element, which is located within the <system.web> element.

        <controls>
          <add tagPrefix="asp" namespace="System.Web.UI" 
          assembly="System.Web.Extensions, Version=1.0.61025.0, 
          Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </controls>
      
    3. Add the following assembly declaration within the <assemblies> element.

        <add assembly="System.Web.Extensions, Version=1.0.61025.0, 
        Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      
    4. Add the following verb handlers within the <httpHandlers> element.

        <add verb="*" path="*.asmx" validate="false" 
        type="System.Web.Script.Services.ScriptHandlerFactory, 
        System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, 
        PublicKeyToken=31bf3856ad364e35"/>
      
        <add verb="*" path="*_AppService.axd" validate="false" 
        type="System.Web.Script.Services.ScriptHandlerFactory, 
        System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, 
        PublicKeyToken=31bf3856ad364e35"/>
      
        <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"/>
      
    5. Add the following script module handler within the <httpModules> element.

        <add name="ScriptModule" 
        type="System.Web.Handlers.ScriptModule, System.Web.Extensions, 
        Version=1.0.61025.0, Culture=neutral, 
        PublicKeyToken=31bf3856ad364e35"/>
      
    6. Add the following safe control entry within the <SafeControls> element, which is located within the <SharePoint> element.

        <SafeControl Assembly="System.Web.Extensions, 
        Version=1.0.61025.0, Culture=neutral, 
        PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" 
        TypeName="*" Safe="True" />
      
    7. Add the following scripting web service handlers within the <configuration> element.

        <system.web.extensions>
          <scripting>
            <webServices>
            <!-- Uncomment this line to enable the authentication 
            service. Include requireSSL="true" if appropriate. -->
            <!--
              <authenticationService enabled="true" 
              requireSSL = "true|false"/>
            -->
            <!-- Uncomment these lines to enable the profile service. 
            To allow profile properties to be retrieved and modified in 
            ASP.NET AJAX applications, you need to add each property 
            name to the readAccessProperties and writeAccessProperties 
            attributes. -->
            <!--
              <profileService enabled="true" 
              readAccessProperties="propertyname1,propertyname2" 
              writeAccessProperties="propertyname1,propertyname2" />
            -->
            </webServices>
            <!--
            <scriptResourceHandler enableCompression="true" 
            enableCaching="true" />
            -->
          </scripting>
        </system.web.extensions>
        <system.webServer>
          <validation validateIntegratedModeConfiguration="false"/>
          <modules>
            <add name="ScriptModule" preCondition="integratedMode" 
            type="System.Web.Handlers.ScriptModule, 
            System.Web.Extensions, Version=1.0.61025.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          </modules>
          <handlers>
            <remove name="WebServiceHandlerFactory-Integrated" />
            <add name="ScriptHandlerFactory" verb="*" path="*.asmx" 
            preCondition="integratedMode" 
            type="System.Web.Script.Services.ScriptHandlerFactory, 
            System.Web.Extensions, Version=1.0.61025.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      
            <add name="ScriptHandlerFactoryAppServices" verb="*" 
            path="*_AppService.axd" preCondition="integratedMode" 
            type="System.Web.Script.Services.ScriptHandlerFactory, 
            System.Web.Extensions, Version=1.0.61025.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      
            <add name="ScriptResource" preCondition="integratedMode" 
            verb="GET,HEAD" path="ScriptResource.axd" 
            type="System.Web.Handlers.ScriptResourceHandler, 
            System.Web.Extensions, Version=1.0.61025.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          </handlers>
        </system.webServer>
      

Additional Resources