Ряд руководств по настройке 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
Я действительно понятия не имею, почему значок не отображается в вашей системе, но это то, как я могу искать проблему.