【问题标题】:ASP.NET Ajax not running with IIS 7ASP.NET Ajax 未与 IIS 7 一起运行
【发布时间】:2010-02-15 10:50:09
【问题描述】:

我有一个带有 ASP.NET AJAX 的小型 Web 应用程序,在 http://www.ultidev.com/ 的 Cassini ASP.NET 下运行良好。但是当我尝试在 IIS7 下托管它时,AJAX 无法正常工作。 UpdatePanel、日历扩展、来自验证控件的客户端验证根本不起作用。我想一定是IIS 7的问题。

这是 web.config 文件的一部分:

    <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <remove name="ScriptModule"/>
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </modules>
    <handlers>


     <remove name="WebServiceHandlerFactory-Integrated"/>
        <remove name="ScriptHandlerFactory"/>
        <remove name="ScriptHandlerFactoryAppServices"/>
        <remove name="ScriptResource"/>
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.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=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/></handlers>
</system.webServer>

谁能告诉我 IIS 7 有什么问题?我应该如何配置它以使用 ASP.NET AJAX?谢谢。

【问题讨论】:

    标签: asp.net iis-7 asp.net-ajax


    【解决方案1】:

    在 web.config 文件的 Handlers 部分添加以下行:

    <add name="Ajax" verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>

    【讨论】:

    • 我试过了,但还是一样。日历未显示,验证控制不起作用。
    【解决方案2】:

    我刚刚删除了 Web 服务器角色并再次添加了 Web 服务器角色。它现在正在工作。我认为可能是 IIS 7 最初设置的某些组件。

    【讨论】:

      【解决方案3】:

      如果您从 NUGET 添加了 AJAX,并且在您添加了 ajaxcontroltoolkit.dll 之后,请删除下一行代码 这里:http://ajaxcontroltoolkit.codeplex.com/releases/view/109918

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

      PD:AJAX 控制工具包 4.5 不适用于框架 4.5。并且来自 NUGET 的 AJAX 有问题

      【讨论】:

        猜你喜欢
        • 2011-08-22
        • 1970-01-01
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        • 2014-04-17
        • 2017-04-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多