Проблема с запуском веб-сайта.net framework 4.0 на iis 7.0
Эй, у меня проблемы с бегом .NET framework 4.0
сайт на IIS7.0
, ошибка, которую я получил, выглядит так:
Ошибка HTTP 404.2 - Не найдено "Запрашиваемая вами страница не может быть обработана из-за ISAPI
а также CGI
Настройки списка ограничений на веб-сервере ".
Module : IsapiModule ,
Notification : ExecuteRequestHandler,
Handler : PageHandlerFactory-ISAPI-4.0_32bit ,
Error Code : 0x800704ec
11 ответов
Зайдите в диспетчер IIS и нажмите на имя сервера. Затем нажмите значок "Ограничения ISAPI и CGI" под заголовком IIS. Измените ASP.NET 4.0 с "Не разрешено" на "Разрешено".
Если вы посмотрите в Ограничения ISAPI и CGI, и все уже установлено в Разрешено, то убедитесь, что обработчики ASP.NET v4.0.30319 даже в списке. В моем случае их не было. Это может быть легко пропустить.
Я добавил один для 32 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
и еще один для 64 бит %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
, Вы можете назвать их обоих одинаковыми ASP.NET v4.0.30319
,
Установите флажок Разрешить расширение пути для выполнения.
- Перейти к диспетчеру IIS.
- откройте имя сервера как
(PC-Name)\
, - затем дважды щелкните по ISAPI и CGI Restriction.
- затем выберите ASP.NET v4.0.30319(32-разрядная версия). Ограничение разрешено.
В моем случае проблема была более серьезной: оказалось, что asp.net не был правильно зарегистрирован.
просто запустил следующую команду в командной строке
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Если бы я работал в 32-битной системе, это выглядело бы следующим образом:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Шаг 1. Откройте IIS и щелкните имя сервера. Шаг 2. Дважды щелкните "Ограничения ISAPI и CGI". Шаг 3. Щелкните правой кнопкой мыши ASP.NET v4.0.30319 и выберите "Разрешить".
После остановки и запуска службы публикации в Интернете
1. Перейдите в Пуск> Все программы> Администрирование> Службы. 2. В списке служб щелкните правой кнопкой мыши службу World Wide Web Publishing и выберите "Остановить" (чтобы остановить службу), "Пуск" (чтобы запустить ее после ее остановки) или "Перезапустить" (чтобы перезапустить службу, когда она работает).).
Pramesh
Если вы используете Delphi или другой собственный скомпилированный CGI, это решение будет работать:
Как уже указывалось, зайдите в IIS manager и нажмите на имя сервера. Затем нажмите значок "Ограничения ISAPI и CGI" под заголовком IIS.
Если у вас все разрешено, оно все равно не будет работать. Вам нужно нажать на "Изменить параметры функции" в разделе "Действия" (справа) и установить флажок "Разрешить неопределенные модули CGI" или "Разрешить неопределенные модули ISAPI" соответственно.
Нажмите ОК
Если вы посмотрите в разделе " Ограничения ISAPI и CGI", и все уже настроено на "Разрешено", а установлен ASP.NET v4.0.30319, то справа на панели "Действия" щелкните "Изменить параметры функции..."и установите оба флажка. В моем случае их не было.
В нашем случае решение этой проблемы не включало настройки "Ограничения ISAPI и CGI". Ошибка стала возникать после того, как оперативный персонал случайно обновил сервер до.NET 4.5, а затем снова опустил до.NET 4.0. Это привело к тому, что некоторые сайты IIS забыли свои соответствующие пулы приложений, а некоторые из пулов приложений переключились с.NET Framework 4.0 на 2.0. Изменение этих настроек обратно решило проблему.
Попробуйте изменить режим управляемого конвейера AppPool с "Интеграция" на "Классический".
Если у вас нет опции ISAPI и CGI Restrictions, вот как ее добавить. Как добавить ограничения ISAPI и CGI
В зависимости от типа приложения, в разделе "Дополнительные параметры" для пула приложений необходимо проверить еще одну вещь: убедитесь, что для параметра "Включить 32-разрядные приложения" установлено значение True.
Я проверил все в этой теме, когда у меня была эта проблема, но все уже было правильно настроено, я обнаружил, что это проблема для меня.
После сопоставления приложения выполните следующие действия
Откройте IIS. Нажмите "Пулы приложений". Дважды щелкните веб-сайт. Измените режим управления конвейером на "классический", нажмите "ОК".
Измените версию.Net Framework на более низкую версию
Затем нажмите Ok