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
.
Ответ 8
http://www.asp.net/mvc/tutorials/older-versions/deployment/using-asp-net-mvc-with-different-versions-of-iis-cs
Ответ 9
Я получал эту ошибку, когда я развернул учебное приложение Microsoft ContsosoUniversity точно в соответствии с руководствами по обучению (http://www.asp.net/mvc/tutorials/deployment).
После выполнения всех рекомендаций нескольких сообщений я решил эту проблему, удалив все другие приложения в корневом каталоге (из диспетчера IIS) и повторно развернув приложение. Одно из других приложений в DefaultAppPool (внутри которого оно работает) должно быть помехами.