Чому IIS відмовляється обслуговувати вміст ASP.NET?


16

Мій сервер Windows Server 2003 Std відмовляється від сервера вмісту ASP.NET. Він обслуговує звичайний html просто чудово, але все-таки .net, навіть однорядковий HTML-файл із розширенням ASPX виходить з ладу.

Те, що я спробував:

  • Нічого в журналі подій або IIS WWW не записує, коли він не працює.
  • Фіддлер не виявляє відповіді
  • Я перевстановив .NET з
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -U
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
  • Я надаю нецензурно високі дозволи на все, про що я можу придумати (повний контроль, читання, запис тощо) для всіх, можливо, відповідних користувачів (IUSER *, ASP.NET тощо).
  • Я підтвердив, що розширення веб-служб ASP.Net v1 та v2 "дозволені" в IIS
  • Підтверджено, що у менеджера серверів увімкнено ролі IIS та ASP.Net

Знову ж таки: такий сценарій:

Будь-які вказівки будуть дуже вдячні!


Рішення. Я перевстановився відповідно до наведених нижче інструкцій, і він працює зараз. Дякую всім!

Відповіді:


23

Я натрапив на цю точну проблему кілька разів, і кожен раз рішенням було таке:

  1. перейдіть до Панелі управління
  2. перейдіть до області "Компоненти Windows"
  3. видаліть IIS, нехай він видаляється
  4. перезавантажити
  5. повторно додайте IIS ( обов'язково додайте речі ASP.NET, коли ви знімаєте прапорці ).
  6. Виконати: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I

Я витратив години налагоджуючи це один раз на сайті клієнта, і це був фокус. Відтоді кожен раз, коли це сталося, це було виправленням.

Я не впевнений, що є першопричиною, але ми розірвали конфігурацію IIS один раз, намагаючись розібратися в цьому, і навіть запустили Microsoft RDC'ing на відповідний сервер протягом 2 або 3 годин, і вони не змогли допомогти .

Тому я списую це як недокументовану помилку в ASP.NET/IIS.


1
Це і вдалося. Soooo багато часу витрачав на це з таким незадовільним рішенням - я ненавиджу, не знаючи фактичної причини. Ну добре, це працює зараз - дуже дякую, Сем!
Майкл Харен

2
Крок 6: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Майкл Харен

Немає жодних проблем - радий бути корисним, бо я знаю, що це болісно!
Сем Шютте

Також може бути, що справжня причина - це просто погана установка. Я знаю, що коли я натрапив на це, все інше виглядає нормально, але я припускаю, що десь реєстр або конфігурація вкручені.
Сем Шютте

Можливо, варто відформатувати команду на кроці 6 у вигляді коду, щоб було легше сказати, що прапор є великим регістром 'i'.
Дейв Андерсен

9

Спробуйте це: http: //localhost/blah.aspx (має бути неіснуюча сторінка). Якщо він дає 404 замість сторінки помилки asp.net, тоді asp.net не працює, якщо він дає помилку 403, то дозволи для сайту неправильні.

Ось контрольний список, який може допомогти:

  • Чи працює IIS?
  • Ваш веб-сайт працює?
  • Чи правильно працює пул додатків для вашого веб-сайту?
  • Чи встановлено та зареєстровано ASP.NET?

    cd / d% windir% \ Microsoft.Net \ Framework \ v2.0.50727

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • Чи працює ASP.NET?

Перевірте вкладку "ASP.NET" у властивостях вашого веб-сайту. Переконайтеся, що використовується правильна версія.

  • Чи правильно налаштовані дозволи?

Перевірте вкладку «Домашній каталог» у властивостях вашого веб-сайту, перевірте параметр «Виконати дозволи», він повинен бути встановлений для дозволу сценаріїв. Також перевірте "Розширення веб-служб", щоб переконатися, що asp.net може працювати.


Це хороший список для подальшого використання. Я вже спробував все це, крім перемикачів -a ​​та -enable та ідеї blah.aspx. Потрібно було переустановити IIS. Дякую за допомогу!
Майкл Харен

Як виглядає правильно запущений пул додатків? Як виглядає неправильно запущений пул додатків?
Ян Бойд

Де можна знайти "Розширення веб-служб", щоб я міг переконатися, що asp.net може працювати?
Ян Бойд

3

Відкрийте менеджер IIS, натисніть папку розширень веб-служб на лівій панелі. Потім натисніть на розширення ASP.NET на правій панелі та натисніть кнопку Дозволити.


Це вже дозволено, хоч спасибі за пропозицію
Майкл Харен

2

Вам не потрібно видаляти / перевстановлювати IIS, щоб відновити підтримку .net, відповідно до попередньої відповіді. Просто запустіть утиліту aspnet_regiis.exe, яка знаходиться у відповідній папці framwork, наприклад:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Чи роблю це інакше, ніж зазначено в моєму запитанні? Якщо ні, то я вже спробував це.
Майкл Харен

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