我们刚刚将我们的网站转换为在.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!
答案 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
史蒂夫