Приложение Server 2012 IIS 8 MVC показывает домашнюю страницу IIS по умолчанию или ошибки 403/404

83

Запуск Microsoft Server 2012 RC с использованием бесплатного приложения VirtualBox от Oracle. Использовал тип сетевого адаптера Bridged в настройках VirtualBox. Установил AD и DNS, IIS. В разделе «Параметры IIS» «Инструменты управления» установите флажок «Службы управления». Это позволило мне использовать функцию «Веб-развертывание» в Visual Studio 2012 RC. В гостевой ОС я запускаю Windows 7 Ultimate.

Мне удалось успешно развернуть приложение MVC 4 на веб-сайте IIS по умолчанию, но оно не отображалось. Вместо этого домашняя страница IIS по умолчанию была. Я отключил домашнюю страницу по умолчанию и обновил страницу, отображающую страницу 403. Я попытался ввести одно из представлений, и отобразилась страница 404.

Hillbilly Coder
источник
4
Спасибо! Эти варианты легко упустить. Ты мне помог!
Джон Краг
Windows 8 тоже страдает от этого!
joshcomley
Как говорит Джон, даже я сделал несколько настроек IIS 8, я пропустил сегодня ...
Новковски Стево Бато
спасибо за это, сводил меня с ума
космонавт

Ответы:

31

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

Все статьи и сообщения на форумах, которые я встречал в Интернете, начали в той или иной форме отражать друг друга.

В одном решении говорилось о том, чтобы убедиться, что у вас правильная конфигурация пула приложений, с использованием интегрированной среды 4.0. [x] Подтверждено, что уже установлено правильно.

Другое решение расширило направление использования «aspnet_regiis -i» или «aspnet_regiis -ir», которое не работает на Microsoft Server 2012.

В другом решении говорилось о добавлении в web.config следующего:

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

Однако IIS 8 служит ответом на это, говоря что-то о том, что эти параметры заблокированы на более высоком уровне конфигурации и не могут использоваться на уровне приложения. О'кей.

В конце концов я нашел статью, которая привела меня к следующей странице: http://learn.iis.net/page.aspx/1097/iis-80-using-aspnet-35-and-aspnet-45

Решение заключалось в том, чтобы вернуться к панели мониторинга Microsoft Server 2012 и выбрать функцию «Добавить роли». Прокрутите вниз до корня «Веб-сервер (IIS)», разверните «Веб-сервер», разверните «Разработка приложений» и выберите «ASP.NET 3.5» и «ASP.NET 4.5» и «Установить».

Изначально меня смутило то, что я не расширил «Разработка приложений», а выбрал IIS и продолжил. На следующем этапе по умолчанию были выбраны «Возможности», «Возможности .NET Framework 4.5», поэтому я выбрал «Возможности .NET Framework 3.5» и подумал, что все будет в порядке.

После установки элементов, выбранных в разделе «Разработка приложений», приложения MVC 4.5 работают так, как они были разработаны. Надеюсь, это поможет любому, кто застрял, как и я.

Hillbilly Coder
источник
1
Видимо, это все еще кусает людей - поэтому я переместил ваш ответ в ... Ответ. Надеюсь, ты не против ...
Shog9
Спасибо за публикацию. Теперь мы можем добавить требование .NET 4.5.2 в смесь для последней версии Windows server + IIS для приложений MVC 5. По-видимому, единственный способ добавить - либо прямая загрузка, либо через установщик веб-платформы. Windows Features не имеет
версии
Так обстоит дело и сегодня (2017 г.), даже после того, как я установил все обновления на Windows Server 2012. Спасибо!
Джон Исайя Кармона
0

Я выбрал «Возможности .NET Framework 3.5» и подумал, что все будет хорошо !!! Никакие другие действия не помогли. Когда эта проблема появилась «внезапно». Какое-то время все работало. Но после следующей публикации приложение проработало несколько минут, а затем вылетело с ошибкой 403.14.

Clevelus
источник
0

Все, что вам нужно, это просто изменить режим отладки компиляции на true в веб-конфигурации и оставить другие свойства такими же. Откройте папку публикации и откройте файл Web Config.

<configuration> <compilation debug="true"> </compilation> </configuration>

Абдул Басит
источник