Почему 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 подключаться к рассматриваемому серверу в течение 2 или 3 часов, и они тоже ничего не могли поделать. ,

Поэтому я списываю это как недокументированную ошибку в ASP.NET/IIS.


1
Это сделал это. Слишком много времени было потрачено на это с таким неудовлетворительным решением - я ненавижу не знать истинную причину. О, хорошо, это работает сейчас - большое спасибо, Сэм!
Майкл Харен

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

Нет проблем - рад быть полезным, потому что я знаю, что это больно!
Сэм Шютте

Кроме того, может быть, что фактическая причина просто плохая установка. Я знаю, когда я столкнулся с этим, все остальное выглядит хорошо, но я предполагаю, что где-то реестр или конфиг по какой-то причине испорчен.
Сэм Шютте

Возможно, стоит отформатировать команду на шаге 6 как код, чтобы было легче определить, что флаг представляет собой заглавную букву «i».
Дейв Андерсен

9

Попробуйте это: http: //localhost/blah.aspx (должна быть несуществующая страница). Если вместо страницы с ошибкой asp.net выдается 404, тогда 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

Я делаю это иначе, чем указано в моем вопросе? Если нет, то я уже попробовал это.
Майкл Харен

По какой-то причине, только режим Regis не поможет.
Сэм Шютте
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.