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

Rom*_*nSt 5 windows iis asp.net

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

            截图

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

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

Pet*_*orf 1

首先要检查 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" />
Run Code Online (Sandbox Code Playgroud)

版本号可能是 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
Run Code Online (Sandbox Code Playgroud)

如果它始终存在,我将启动进程监视器并过滤

Path  contains  Microsoft.Web.Management.Aspnet.dll
Run Code Online (Sandbox Code Playgroud)

启动 IIS 管理器并查看进程监视器中的结果列,您应该会看到一堆带有Success,Buffer Overflow和 的条目File Locked with only readers

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