Додаток Server 2012 IIS 8 MVC відображає домашню сторінку IIS за замовчуванням або помилки 403/404


83

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

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


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 працюють так, як вони були розроблені. Сподіваюся, це допомагає кожному, хто, можливо, застряг, як я.


1
Мабуть, це все ще кусає людей - тож я переніс вашу відповідь у ... відповідь. Сподіваюся, ви не проти ...
Shog9

Дякуємо за розміщення. Тепер ми можемо додати вимогу .NET 4.5.2 до суміші для останньої версії сервера Windows + IIS для додатків MVC 5. Очевидно, єдиний спосіб додати - це пряме завантаження або за допомогою інсталятора Web Platform. Функції Windows не мають 4.5.2
sumitkm

Це відбувається і сьогодні (2017), навіть після того, як я встановив усі оновлення на Windows Server 2012. Дякую!
Джон Ісая Кармона

0

Я вибрав "Особливості .NET Framework 3.5" і думав, що все буде добре !!! Жодні інші дії не допомогли. Коли ця проблема з'явилася "раптово". Деякий час все працювало. Але після наступної публікації додаток працював кілька хвилин, а потім помилився 403.14


0

Все, що вам потрібно, це просто змінити режим налагодження компіляції на true у веб-конфігурі та зберегти інші властивості такими ж. Відкрийте папку публікації та відкрийте файл Web Config.

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

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