Почему 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.