ASP.NET Ajax客户端框架无法加载

时间:2011-12-26 19:08:09

标签: asp.net ajax scriptmanager

我收到了这个错误:

  

ASP.NET Ajax客户端框架无法加载

错误:

  

'Sys'未定义。

底部IE中的错误qppears(错误消息),仅在我在服务器上运行该站点时才会出现。在我的localhost上一切正常。

我搬到了新服务器,我遇到了问题。我以前的服务器一切都很好。

问题来自ajax的SCRIPTMANAGER。

我能做什么?在web.config中有什么东西,还是主机公司需要安装somthing?

ASP.NET 4,IIS 7.5

IE上丑陋的黄色三角形并不是令我不安的问题..最大的问题是脚本管理器更新了pannel - 不行![/ p>

6 个答案:

答案 0 :(得分:8)

快速解决方案是更新您的web.config并添加以下部分

<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=4.0.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=4.0.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=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</handlers>

答案 1 :(得分:2)

我遇到了同样的问题,罪魁祸首是来自其他应用程序的web.config文件,该文件保存在Web根目录中。 (有人在Web根目录上安装了应用程序) 一旦它在文件夹中移动,问题就消失了。

答案 2 :(得分:1)

我遇到了同样的错误,经过大量的讨论后,我发现我创建的自定义HttpModule拦截了所有Http请求,而 仅限于。 aspx 仅请求。

我的模块评估了一些标准,并在必要时重定向到404或500页。问题在于它是针对所有请求执行此操作,包括对 .axd 资源(例如 ScriptManager.axd )的请求。通过过滤模块中的 .aspx 文件,这一切都神奇地开始重新运作。

有时候你的鼻子下面就是问题。我希望这有助于一些不良的鞋底,并节省他们花费的时间和精力。

干杯,

凯恩

答案 3 :(得分:1)

仅供参考,在追查这个错误两天之后,我们终于找到了原因。它与此处所述的完全不同。

有效的原因是“Web.config”文件中的错误输入。就是这条线:

<httpRedirect 
    enabled="true" 
    destination="https://some-domain-of-me.com" 
    exactDestination="false"  
    childOnly="true" />

整个网站都正常工作,但ASP.NET Ajax的内容没有加载。

在Web开发人员控制台中使用Firefox和网络日志,我看到了大量与某些.AXD文件相同的302 HTTP重定向。即有一个无限循环,浏览器终于​​在大约后杀死了。 20-30重定向。

上述行导致了这些重定向。

我的假设是这种行为:

  1. ASP.NET Ajax .AXD文件有无穷无尽的重定向。
  2. 浏览器尝试多次加载。
  3. 浏览器最终放弃了加载文件。
  4. 这导致打印上述错误消息:
  5.   

    ASP.NET Ajax客户端框架无法加载

    解决方案是删除(不必要的)重定向。在此之后,一切都工作正常。

    (我们通过安装IIS URL Rewrite module完成了我们需要的实际重定向)

答案 4 :(得分:0)

过去两天我有同样的错误。最后我解决了这个问题。 在IIS中的托管处理程序中添加以下项目。

*.asmx

System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35

ScriptHandlerFactory

*_AppService.axd

System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35

ScriptHandlerFactoryAppServices

ScriptResource.axd

System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35

ScriptResource

答案 5 :(得分:0)

对我来说,解决方案是从应用程序的站点中删除URL重写!我们的大多数网站都是WordPress静态页面,需要重写。当我们将应用程序转换为站点时,IIS会自动应用重写。