Невозможно получить что-либо кроме 403 с веб-сайта .Net 4.5

10

Сценарий: установка Clean Server 2008 R2 с ролью IIS.

Установленная платформа 3.5 (функции сервера) Установленная платформа 4.5 RC (MS Download)

выполненный

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

(Я бы использовал -iruна существующих серверах, но это чистая сборка).

Опубликовано через файловую систему (SMB share)

Преобразует папку в приложение с помощью интегрированного пула приложений .Net 4.0.

Остановил / перезапустил все.

Просмотр localhost/TestAppрезультатов 403.14 (просмотр каталога запрещен)

Какой шаг я пропустил? Сайт, о котором идет речь, - это MVC4 и предназначен для платформы 4.5 RC.

основной
источник
Вы убедились, что ваш документ по умолчанию находится в списке документов по умолчанию?
Брент Пабст
@BrentPabst Будучи MVC, документ по умолчанию не существует - он полагается на перезапись URL-адреса IIS, чтобы определить, какой контроллер / действие выполнить. Если это не помогло, я бы ожидал другое сообщение об ошибке. Такое ощущение, что парсинг URL не вызывается, что обычно означает, что .Net неправильно зарегистрирован в IIS. Сказав это, он будет зарегистрирован и я установил соответствующий IIS ролей ( на самом деле, я в настоящее время есть все МПМ роли) , так что я немного не уверен , как лучше диагностировать это
Basic
извини, я слепой и пропустил часть 4.5 MVC. В любом случае, почему вы зарегистрировали .NET 4.0 после установки 4.5? Мне никогда не приходилось регистрировать .NET на любом веб-сервере, потому что установщик делает это автоматически. В любом случае, я думаю, что вы зарегистрировали неправильные обработчики .NET. Однако с 4.5 и MVC вы должны по крайней мере увидеть YSOD, который говорит, что глобальный ASAX не может быть загружен.
Брент Пабст
@BrentPabst Мне приходилось делать это aspnet_regiisраньше, но только когда IIS установлен после .Net (кажется разумным). Это было не так, но так как многие из предложенных ответов упоминают это как проблему, я решил попробовать. 4.5 заменить 4.0 полностью. Я согласен, что не получить YSOD - это странно - как я уже сказал, похоже, он просто не рассматривает его как страницу .Net вообще
Basic
1
Рад, что у вас все получилось. Ваша голова, должно быть, была готова взорваться!
Брент Пабст

Ответы:

21

У меня была похожая проблема. Этот поток /programming/2374957/asp-net-mvc-on-iis-7-5 решил это за меня. В основном попробуйте добавить это в ваш web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

Если это работает, вы можете попробовать удалить его и установить вместо этого это исправление: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5272

Shildrak
источник
Спасибо, что решили это. Я бился головой об этом часами. Вы не поверите горе, которое я получил от офиса "linux guy". В этом случае, я думаю, что у него есть точка ...
Basic
1
Спасибо! В моем случае runAllManagedModulesForAllRequests не помогло, но исправление помогло.
NateTheGreat
Для меня также запустить AllManagedModulesForAllRequests не помогло, но исправление помогло - спасибо за ссылку
Анил Пурсвани
Вы спасли мой день!
Лабилб
0

Пользовательский интерфейс немного отличается в новых версиях Windows Server. Здесь вы должны включить ASP.Net, чтобы он работал на IIS

Исправить IIS & Asp.net

Мэтью Зурелиас
источник