我们将Windows服务器从Framework v2升级到v4,从iis 6升级到iis 8.5。有些网站仍然使用相同的框架v2,但其中一个会出现这种错误:
HTTP错误500.21 - 内部服务器ErrorHandler“handlers / exchange.axd _ ” 在其模块列表*
中有一个错误的模块“ManagedPipelineHandler”这在旧服务器上运行。现在我们有Windows 2012 R2
web.config中的:
如果我运行此%windir%\ Microsoft.NET \ Framework \ v4.0.21006 \ aspnet_regiis.exe -i我害怕更改其他网站的框架。
有没有办法在Web.config或IIS中指定框架?怎么能解决这个500错误?任何想法?
我们将此站点的框架从.NET CLR V.2.05.xxxxx Classic更改为集成在IIS上的.Net CLR v4.0.21006。
我认为preCondition = IntegratedMode也有效,我没有测试过。
由于
答案 0 :(得分:1)
我的问题是我得到了错误
HTTP错误500.21-内部服务器错误
处理程序“ ExtensionlessUrlHandler-Integrated-4.0”的模块列表中有错误的模块“ ManagedPipelineHandler”
我的解决方法是
以管理员结束类型运行cmd
:
dism /online /enable-feature /featurename:IIS-ASPNET45 /all
重新启动IIS
此解决方案来自this SO question。
答案 1 :(得分:0)
您必须将web.config中的处理程序属性更改为
preCondition="integratedMode"
通过解释来浏览MSDN的链接 http://blogs.msdn.com/b/tmarq/archive/2007/08/30/iis-7-0-asp-net-pipelines-modules-handlers-and-preconditions.aspx