ScriptResource.axd和.Net 4

时间:2010-08-04 12:06:35

标签: asp.net ajax

我们刚刚将我们的网站转换为在.NET 4上运行,并升级了我们的服务器(Web Server 2008 SP2 IIS7.0)以运行.NET 4框架。我们的网站现在在50%尝试访问它的所有计算机上显示以下问题,而其他50%完全正常工作。一切都在.NET 3.5下运行良好

Sys.WebForms.PageRequestManagerServerErrorException: The requested name is valid, but no data of the requested type was found. ScriptResource.axd Code:0 Line:5 Char:89043

我们的web.config定义如下:

<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <directoryBrowse enabled="true" />
  <modules>
   <remove name="ScriptModule"/>
   <add name="ASPxHttpHandlerModule" type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v10.1, Version=10.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
   <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" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </handlers>
 </system.webServer>

该站点使用定义为:

的应用程序池运行
.NET Framework Version: v4.0
Managed Pipeline Mode: Integrated

我们将网站切换为从MS内容传送网络下载Ajax脚本(ScriptManager EnableCdn =“True”)并且仍然遇到同样的问题,除非这次我们遇到问题:

MicrosoftAkaxWebForms.debug.js Line: 868 Char:13

已删除所有我们自己的脚本和Ajax Control Toolkit无济于事。令人费解的是它在50%的机器上运行正常而在另外50%的机器上运行正常。作品/不作品之间没有共性。不同的o / s不同的浏览器混合。例如在一台机器上工作正常Win 7 / IE8在一台机器上运行相同o / s和浏览器...在一台机器上工作正常XP Firefox3在另一台机器上运行失败。

任何帮助都非常感激(绝望!!)

最新更新:

我们将网站恢复为.Net 3.5,而不更改网站上的任何代码,所有功能都完美无缺。猜猜在可预见的未来我们会坚持到3.5!

1 个答案:

答案 0 :(得分:2)

不要放弃,当我将我们的网站升级到4.0但有几个小时的头发没有解决时有一些令人头疼的问题!

查看你的web.config ...

       <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

   <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" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

这些模块仍然引用旧的3.5库。更新您的引用以指向这些库的新4.0版本。

请同时查看4.0中所做的更改,以最大限度地减少web.config设置。一种入门方法是创建一个新的4.0网站,找出你需要添加到web.config以启动和运行的内容。

我在我们的4.0网站上使用AJAX控件工具包,我没有你注册的任何处理程序,我不相信你需要其中任何一个(除了可能
 DevExpress one)。

Ta

史蒂夫