IIS 管理器中缺少“机器密钥”

IIS 管理器中缺少“机器密钥”

许多关于machineKey通过 IIS 管理器设置 ASP.NET 的指南告诉我打开功能视图中的“机器密钥”部分,例如:

            截图

我的 IIS 安装没有这个图标。我该如何添加它?我仔细查看了“添加角色服务”,但没有找到任何相关内容。

当我在左侧列表中选择机器时,我的服务器上的列表如下所示:在此处输入图片描述

答案1

我必须转到控制面板->程序和功能中的“打开或关闭 Windows 功能”,然后在万维网服务下启用 ASP .NET。

选中 Internet 信息服务 -> 万维网服务 -> 应用程序开发功能 -> ASP.NET 复选框。

答案2

首先要检查的是 IIS 管理器的配置文件:

%systemroot%\System32\inetsrv\config\administration.config

moduleProviders在该部分的节点下ASP.NET Modules应该有如下条目:

   <add name="MachineKey" type="Microsoft.Web.Management.AspNet.MachineKey.MachineKeyModuleProvider, Microsoft.Web.Management.Aspnet, Version=8.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

根据您的操作系统,版本号可能是 8.0.0.0、7.5.0.0 或 7.0.0.0。

如果有的话,您可以查看提供此功能的实际文件,对于 2008 R2,它位于:

C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Management.Aspnet\7.5.0.0__31bf3856ad364e35\Microsoft.Web.Management.Aspnet.dll

如果一直这样,我会开始进程监控并过滤

Path  contains  Microsoft.Web.Management.Aspnet.dll

然后启动 IIS 管理器并查看进程监视器中的结果列,您应该得到一堆带有 的条目SuccessBuffer Overflow并且File Locked with only readers

我真的不知道为什么图标没有出现在你的系统上,但这就是我寻找问题的方式。

答案3

卸载 ASP.net V4.0 并重新安装。这对我来说已经解决了

相关内容