2 AJAX Controls conflict in Web.config

Last post 07-11-2007 8:53 AM by Jonathan Shen – MSFT. 1 replies.

Sort Posts:

  • 2 AJAX Controls conflict in Web.config

    07-07-2007, 5:39 PM
    • Member
      5 point Member
    • chubbs
    • Member since 06-29-2007, 6:40 AM
    • Posts 25

    hi there; first off, don't let the amount of web.config code below scare you off ... there is only a small portion (that i've indicated) which doesn't work.  i posted it all just for reference purposes. 

    anyway, i have 2 sites ... an autoComplete and a cascadingDropDown.

    each site only have 1 control and each site works fine.

    however, when i try to add the autoComplete to the cascadingDropDown site, i receive a 'sys is undefined' error.

    i've done a lot of research and this seems to be a common problem ... often solved by adding:

    <add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler" validate="false"/>

    to the  <httpHandlers>  tag.

    this did not work for me.

    in comparing my 2 web.config files, i found some inconsistancies in the <httpHandlers> tag.  i will post my entire web.config first:

     

    <?xml version="1.0"?>

    <configuration>

    <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>

    <sectionGroup name="microsoft.web" type="Microsoft.Web.Configuration.MicrosoftWebSectionGroup">

    <section name="converters" type="Microsoft.Web.Configuration.ConvertersSection" requirePermission="false"/>

    <section name="webServices" type="Microsoft.Web.Configuration.WebServicesSection" requirePermission="false"/>

    <section name="authenticationService" type="Microsoft.Web.Configuration.AuthenticationServiceSection" requirePermission="false"/>

    <section name="profileService" type="Microsoft.Web.Configuration.ProfileServiceSection" requirePermission="false"/>

    </sectionGroup></configSections>

     

    <microsoft.web>

    <converters>

    <add type="Microsoft.Web.Script.Serialization.Converters.DataSetConverter"/>

    <add type="Microsoft.Web.Script.Serialization.Converters.DataRowConverter"/>

    <add type="Microsoft.Web.Script.Serialization.Converters.DataTableConverter"/>

    </converters>

    <webServices enableBrowserAccess="true"/>

    </microsoft.web>

     

    <
    connectionStrings>

    <add name="myConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\myDB.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />

    </connectionStrings>

     

    <system.web>

    <pages>

    <controls>

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

    <add namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>

    <add namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>

    <add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/>

    <add namespace="AtlasControlToolkit" assembly="AtlasControlToolkit" tagPrefix="atlasToolkit"/>

    </controls>

    </pages>

     

    <
    compilation debug="false">

    <buildProviders>

    <add extension=".asbx" type="Microsoft.Web.Services.BridgeBuildProvider"/>

    </buildProviders>

    <assemblies>

    <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

    <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

    <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

    </assemblies> </compilation>

    <httpHandlers>

    <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Services.ScriptHandlerFactory"/>

     

    <
    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"/>

    </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>

     

    <
    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>

    </configuration>

     

    okay, that is my web.config.

    as i mentioned, i've isolated the <httpHandlers> tag as the issue.

    if i leave it as it is, neither the autoComplete or the cascadingDropDown controls work.

    however, if i comment out the following <add> tag from the  <httpHandlers> section, :

    <!--

    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

    -->

    then the cascadingDropDown control works fine (while the autoComplete is still dead).

    now, if i UN-comment out the above <add> tag (so that it is active), and comment out this <add> tag instead:

    <!--

    <add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Services.ScriptHandlerFactory"/>

    -->

    then the autoComplete control works fine (but the cascadingDropDown dies).

    so, apparently, the issue is, it appears that i can have one AJAX control or the other ... but not both. 

    when they're all un-commented out, there's something that's cancelling the other out.

    is there someone out there who knows how to resolve this?

    a big thanks! in advance!

  • Re: 2 AJAX Controls conflict in Web.config

    07-11-2007, 8:53 AM
    Answer

    Hi chubbs,

    Based on your description,  I think your two web sites are developed based on different Asp.Net Ajax versions.  "Microsoft.Web.Services.ScriptHandlerFactory"  is the evidence.So my suggestion is you should do this step by step:

    1.   Udate your Asp.Net Ajax Extension to the latest version.

    2.  Create  an Ajax-Enabled Web site and copy it's web.config to your project.

    3. Modify on the new web.config file if need.

    Hope this helps. If there's something wrong , please post here.

    Jonathan Shen
    Microsoft Online Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Page 1 of 1 (2 items)