Назад | Перейти на главную страницу

В диспетчере IIS отсутствует «машинный ключ»

Ряд руководств по настройке ASP.NET machineKey через диспетчер IIS скажите мне открыть раздел «Машинный ключ» в представлении функций, например:

           

У моей установки IIS нет этого значка. Как мне это добавить? Я внимательно просмотрел «Службы добавления ролей», но не нашел ничего подходящего.

Вот как выглядит список на моем сервере, когда я выбираю машину в списке слева:

Мне пришлось перейти к «Включение или отключение функций Windows» в Панели управления -> Программы и компоненты и включить ASP .NET в World Wide Web Services.

Установите флажок Internet Information Services -> World Wide Web Services -> Функции разработки приложений -> ASP.NET.

Удалите ASP.net V4.0 и переустановите. Это исправлено для меня

Первое, что нужно проверить, это файл конфигурации для диспетчера IIS по адресу:

% systemroot% \ System32 \ inetsrv \ config \ administrator.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 и просмотреть столбец результатов в Process Monitor, вы должны получить кучу записей с Success, Buffer Overflow и File Locked with only readers

Я действительно понятия не имею, почему значок не отображается в вашей системе, но это то, как я могу искать проблему.