Проблема у запуску веб-сайту .net Framework 4.0 на iis 7.0


119

Ей, у мене проблема в запуску .NET framework 4.0веб-сайту на IIS7.0. помилка, яку я отримав, виглядає так:

Помилка HTTP 404.2 - не знайдено "Сторінку, яку ви запитуєте, не можна обслуговувати через параметри списку ISAPIта CGIобмежень на веб-сервері".

Module : IsapiModule , 
Notification : ExecuteRequestHandler, 
Handler : PageHandlerFactory-ISAPI-4.0_32bit , 
Error Code : 0x800704ec

Відповіді:


289

Перейдіть до менеджера IIS та натисніть ім'я сервера. Потім натисніть на значок "ISAPI та CGI Restrictions" під заголовком IIS. Змініть ASP.NET 4.0 з "Не дозволено" на "Дозволено".


44
підкресліть: натисніть
НА ІМЕНТУ СЕРВІРА

1
насправді у мене навіть немає CGI. Я використовую Windows 7, 64 біт. Намагаючись примусити ссср до роботи.
Steam

Людина, ти врятував мені час :) Спасибі :)
Антон Бакшеєв,

2
переконайтеся, що ви запускаєте IIS як адміністратор :)
Naveed Ahmad

Принаймні сьогодні ти моя улюблена людина. Це вирішило проблему, яку я переслідував кілька годин. Чудова відповідь.
asantaballa

8

Якщо ви подивитесь на обмеження 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.

Поставте прапорець Дозволити шлях розширення для виконання .


6
  1. Перейдіть до менеджера IIS.
  2. відкрити ім’я сервера типу (PC-Name)\.
  3. потім двічі клацніть на ISAPI та CGI Restriction.
  4. потім виберіть ASP.NET v4.0.30319 (32-бітний) обмеження дозволено.

6

У моєму випадку проблема була серйознішою: виявляється, 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

3

Крок 1: Відкрийте IIS та натисніть ім'я сервера. Крок 2. Двічі клацніть “ISAPI та CGI обмеження” Крок 3. Клацніть правою кнопкою миші ASP.NET v4.0.30319 та виберіть “дозволити”

Після зупинки та запуску Всесвітньої служби веб-видавництва

1.Переходимо до Пуску> Усі програми> Адміністративні інструменти> Послуги. 2. У списку послуг клацніть правою кнопкою миші Службу публікації веб-сторінок World Wide Web, а потім натисніть кнопку Зупинити (щоб зупинити службу), Запустити (запустити її після зупинки) або Перезапустити (щоб перезапустити службу під час її запуску. ).

Прамеш


2

Якщо ви використовуєте Delphi або інший CGI, створений на власній основі, це рішення буде працювати:

  1. Як було зазначено в іншому, перейдіть до менеджера IIS та натисніть ім'я сервера. Потім натисніть на значок "ISAPI та CGI Restrictions" під заголовком IIS.

  2. Якщо у вас все дозволено, воно все одно не вийде. Потрібно натиснути кнопку "Редагувати параметри функції" в "Дії" (справа) та встановити прапорець "Дозволити невстановлені модулі CGI" або "Дозволити невказані модулі ISAPI" відповідно.

  3. Натисніть кнопку ОК


Кілька днів бив головою, і мені довелося зробити це "Редагувати параметри функції", щоб отримати плагін для єдиного входу в компанію для роботи в класичному режимі
Джей Салліван

1

У нашому випадку рішення цієї проблеми не передбачало налаштувань "обмеження ISAPI та CGI". Помилка почалася після того, як співробітники операційних служб модернізували сервер до .NET 4.5, а потім знову перейшли до .NET 4.0. Це призвело до того, що деякі веб-сайти IIS забули відповідні правильні пули додатків, і це призвело до переходу деяких пулів додатків з .NET Framework 4.0 на 2.0. Зміна цих налаштувань виправила проблему.


1

Якщо ви заглянете в обмеження ISAPI та CGI , і все вже встановлено на Дозволено, а встановлений ASP.NET встановлено в v4.0.30319 , то праворуч на панелі " Дії " натисніть на " Редагувати параметри функції ... "і встановіть обидва поля. У моєму випадку їх не було.


0

Спробуйте змінити режим керованого конвеєра AppPool з "Інтеграція" на "Класичний".


0

Залежно від типу програми, інша річ, яку потрібно перевірити, знаходиться в розділі Додаткові налаштування пулу додатків. Переконайтесь, що для параметра "Увімкнути 32-бітні програми" встановлено значення True.

Я перевірив все в цій темі, коли у мене була ця проблема, але все вже було налаштовано правильно, я виявив, що це проблема для мене.



-1

Після відображення програми застосуйте ці кроки

Відкрийте IIS Клацніть на пулове програм. Двічі клацніть на веб-сайті Змінити Керування режимом трубопроводу на "класичний" натисніть Ок.

Властива зміна .Net Framework Version на нижчу версію

Потім натисніть кнопку Ок

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.