Оказывается, это была глупая ошибка с моей стороны. Вышеприведенного достаточно для того, чтобы приложения ASP.NET v4 работали, когда части, которые я не включил (настраиваемые действия и определения свойств), верны.
В моем случае я случайно указал путь к aspnet_isapi.dll
, поэтому он не был правильно подобран.
Расширение IIS не соответствует управляемой версии среды выполнения на IIS-6, поэтому в приложении не установлена версия ASP.NET.
Это частично правда. Хотя при настройке пула приложений он не использует управляемую версию среды выполнения, IIS фактически выбирает версию ASP.NET, как только правильно сопоставляется с aspnet_isapi.dll
. Как только я исправил путь, все заработало правильно.
Если я использую aspnet_regiis.exe -s APP_PATH, чтобы зарегистрировать его после его создания, он перезаписывает сопоставление с подстановочными знаками (и я не знаю командной строки, которую можно запустить для ее восстановления).
Вы можете использовать adsutil.vbs
для управления этим, если необходимо:
C:\Inetpub\AdminScripts>adsutil.vbs enum w3svc/998577302/root/AppName
KeyType : (STRING) "IIsWebVirtualDir"
...
ScriptMaps : (LIST) (1 Items)
"*,C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll,1,GET,HEAD
,POST"
Используя команду set
в adsutil.vbs
, вы можете при необходимости установить свойство ScriptMaps
.