ASP.NET MVC3 В IIS 7.5

Привет Я хочу опубликовать сайт MVC 3 в Windows Server 2008 R2 SP1. Я установил MVC 3 и MVC 2. Когда я создал сайт MVC 2, он работал нормально, но сайт MVC 3 не работал. Сначала я установил MVC 3, и когда сайт не работал, я установил MVC 2 и протестировал другой (MVC 2) сайт, и все было в порядке. Проблемы связаны с MVC 3.

ЛЮБАЯ ПОМОЩЬ ПОЖАЛУЙСТА Вот ошибка:

Сводка ошибок Ошибка HTTP 403.14 - Запрещено Веб-сервер настроен так, чтобы не отображать содержимое этого каталога. Подробная информация об ошибке Модуль DirectoryListingModule Уведомление ExecuteRequestHandler Обработчик StaticFile Код ошибки 0x00000000 Запрошенный URL https://mywebsite.test.own:443/ Физический путь D:\WebSite Метод входа в систему Пользователь анонимных пользователей Наиболее вероятные причины:

A default document is not configured for the requested URL, and directory browsing is not enabled on the server.

Что вы можете попробовать:

If you do not want to enable directory browsing, ensure that a default document is configured and that the file exists.
Enable directory browsing using IIS Manager.
    Open IIS Manager.
    In the Features view, double-click Directory Browsing.
    On the Directory Browsing page, in the Actions pane, click Enable.
Verify that the configuration/system.webServer/[email protected] attribute is set to true in the site or application configuration file.

Ссылки и дополнительная информация Эта ошибка возникает, когда документ не указан в URL-адресе, для веб-сайта или приложения не указан документ по умолчанию, а список каталогов не включен для веб-сайта или приложения. Этот параметр может быть отключен для обеспечения безопасности содержимого сервера.

Просмотр дополнительной информации "

Ответ 1

Похоже, что запрос переходит к статическому файловому обработчику и вообще не попадает в стек MVC. Некоторые вещи, чтобы проверить...

В конфигурационном файле у вас есть runAllManagedModulesForAllRequests, установленный в true для элемента?

Работаете ли вы в пуле приложений, настроенном для .NET 4 и в режиме Integrated Pipeline?

То, что я могу сейчас думать, но если у меня есть другие мысли, я обновлю сообщение.

Ответ 2

Для ASP.NET MVC 3.0 на IIS 7.5 Windows Server 2008 я обнаружил, что мне пришлось запустить aspnet_regiis -i из папки C:\Windows\Microsoft.NET\Framework\<version>. Это решило проблему.

Ответ 3

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

Например, у меня была область с именем "Пользователи", а также папка под моим корневым каталогом с именем то же самое. Поэтому "domain.com/users" фактически указывал на папку под моим корневым диском вместо области.

Надеюсь, это поможет кому-то!

Ответ 4

Короткий ответ: вам нужно "Bin Deploy" приложение ASP.NET MVC 3.

Пожалуйста, прочитайте Бин Развертывание ASP.NET MVC 3 с помощью Razor на Windows Server без MVC. Также прочитайте Развертывание бинов для MVC 3 с Visual Studio 2010 с пакетом обновления 1 (SP1).

Я смог (частично) решить эту проблему, установив Visual Studio 2010 SP1, а затем используя команду Add Dependency Assemblies.

Причина, по которой я сказал, что я смог частично решить эту проблему, заключается в том, что это решение работало для моего локального IIS 7.5 в Windows 7, но не работало для IIS 7 на Windows Server 2008 R2. Я не уверен, продолжается ли проблема или не проблема. У меня еще не было возможности глубже изучить это. Сбой запроса отслеживания, кажется, предполагает, что это та же проблема, что и раньше, то есть 403.14. Я уточню свой ответ, когда узнаю больше.

Ответ 5

  • Щелкните правой кнопкой мыши по корневому проекту node в VS 2010 и выберите "Добавить развертываемые зависимости", а затем выберите:

a) ASP.NET MVC

b) Веб-страницы ASP.NET с синтаксисом Razor

(Нажмите OK и опубликуйте проект)

  • Элемент "runAllManagedModulesForAllRequests" файла web.config должен быть равен "true". (По умолчанию это TRUE)

  • В разделе IIS 7.5 "Основные настройки" проверьте, есть ли на веб-сайте пул приложений, например "ASP.NET v4.0"

  • Убедитесь, что вы загружаете ВСЕ файлы из папки BIN. Иногда FileZilla застревает... Итак, проверьте это дважды.

Надеюсь, это поможет!:)

Ответ 6

У меня была такая же проблема в версии Server 2008 x64. Сайт ASP.NET MVC3 не работает. Я проверяю все в IIS. Проблема была решена только после включения службы перенаправления HTTP в роли IIS.

Для Windows 7 проверьте это местоположение: Windows Features -> Internet Information Services -> World Wide Web Services -> Common HTTP features -> HTTP Redirection.

Ответ 7

Моя фактическая проблема заключалась в том, что я сработал с файлами _ViewStart.cshtml и _Layout.cshtml. В частности, я изменил имя файла _Layout.cshtml на _PageLayout.cshtml и изменил ссылки на него в _ViewStart.cshtml.

Это работало на VS2010 и на моей домашней машине с 32-разрядной версией Windows 7, но не работало ни на моей рабочей машине с 64-разрядной версией Windows 7, ни на моем сервере разработки под управлением Windows Server 2008 R2.

Решение для меня теперь должно было изменить имя файла _Layout.cshtml.

Ответ 9

Я получал эту ошибку, когда я развернул учебное приложение Microsoft ContsosoUniversity точно в соответствии с руководствами по обучению (http://www.asp.net/mvc/tutorials/deployment). После выполнения всех рекомендаций нескольких сообщений я решил эту проблему, удалив все другие приложения в корневом каталоге (из диспетчера IIS) и повторно развернув приложение. Одно из других приложений в DefaultAppPool (внутри которого оно работает) должно быть помехами.