IIS7 中缺少 Asp.net 4.0 处理程序映射

IIS7 中缺少 Asp.net 4.0 处理程序映射

我有两台运行 asp.net 4.0 应用程序的 Windows 2008 R2 服务器。有问题的服务器实际上可以正常加载 asp.net 页面,但如果有任何 ajax 调用,它们就不起作用。我注意到,这台服务器的 IIS 中没有 .net 4.0 特定的处理程序映射,而另一台服务器有。

它实际上缺少所有 .net 4.0 映射(.axd、.soap、.cshtm、.ashx 甚至 .aspx)。我尝试运行“aspnet_regiis -ir”,但没有帮助。我应该重新安装 .net 4.0 框架吗?手动添加所有这些缺失的映射?还有其他问题吗?

我不想做的是向 web.config 添加大量的处理程序,它们在正常运行的服务器上是不需要的,因此在损坏的服务器上也不需要它们。

答案1

感谢您的回答,但我已经检查了与应用程序处理程序相同的根处理程序,并且缺少所有 .net 4 处理程序。

问题解决了。我所要做的就是在 %WinDir%\Microsoft.NET\Framework64\v4.0.30319 中执行 aspnet_regiis

在 IIS 8 中,我们必须转到“打开和关闭 Windows 功能”,然后转到“Internet 信息服务>万维网服务>应用程序开发功能”,然后选择“ASP.Net 3.5、ASP.Net 4.5 和 ISAPI 扩展和过滤器”

答案2

事实证明,根服务器节点在 IIS 中拥有所有适当的处理程序,但由于某种原因,有问题的网站(即默认网站)没有处理程序。我只是点击了恢复为继承在 IIS 的右侧导航栏中处理程序映射部分,现在一切运行良好。

答案3

不要忘记添加“-i”参数!

C:\windows\system32>C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.
exe -i
Microsoft (R) ASP.NET RegIIS version 4.0.30319.17929
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.17929).
.............
Finished installing ASP.NET (4.0.30319.17929).

C:\windows\system32>

答案4

在 Windows Server 2019 中,您需要使用“添加角色和功能”向导来安装“ASP.NET 4.7”以及向导建议的任何可靠性模块。这将启用 IIS 内的所有 ASP.NET 模块和处理程序。

相关内容