ASP.NET MVC 3 Развертывание 403 Ошибка в Windows Server 2008 R2 - PullRequest
3 голосов
/ 03 июля 2011

Я развертываю приложение MVC3 на новом сервере. Приложение отлично работает на сервере разработки (Visual Studio), а также под IIS7 на моей машине разработки, но на сервере я получаю ошибку 403:

enter image description here

Я выполнил следующие шаги, но сейчас у меня нет идей. Пожалуйста, помогите!

  • Используя тот же метод развертывания xcopy, который я использовал на своем компьютере разработчика, я развернул файлы на сервере и добавил следующие разрешения для папки:

IUSR - чтение и выполнение, просмотр содержимого папки, чтение IIS_IUSRS - чтение и выполнение, просмотр содержимого папки, чтение

  • Я также установил ASP.NET MVC3 на сервере, поэтому дополнительные необходимые DLL-файлы находятся в GAC

  • IIS настроен, и я могу получить доступ к основным html-файлам (таким как test.html, который я добавил в маршрут сайта).

  • Я проверил в диспетчере сервера, что все службы ролей установлены

  • Попытка развертывания bin, скопировав файлы из места установки MVC и поместив в каталог bin

C: \ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET MVC 3 \ Сборки

C: \ Program Files (x86) \ Microsoft ASP.NET \ Веб-страницы ASP.NET \ v1.0 \ Сборки

1 Ответ

7 голосов
/ 03 июля 2011

ок, нашел проблему.Здесь, в случае, если у кого-то еще есть такая же проблема:

На сервере, который я использую, должен быть установлен .NET 4 до IIS.Это означало, что .NET 4 не был зарегистрирован в IIS.

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

Это привело меня к сообщению о переполнении стека, которое направило меня на hanselman.com

Короче говоря, мне пришлось установить VS2010 на сервере, чтобы у меня была доступна командная строка Visual Studio, а затем зарегистрировать .NET 4 в IIS в командной строке.

Диспетчер IIS не может настроить .NETКомпиляция в приложениях .NET 4

http://www.hanselman.com/blog/ASPNET4BreakingChangesAndStuffToBeAwareOf.aspx

Раздел ключа:

"Я установил ASP.NET 4, а затем установил IIS."

Если сначала установить VS2010 и / или .NET 4, а затем установить IIS, необходимо убедиться, что IIS настроен на знание ASP.NET 4, иначе IIS не будет знать, как запускать приложения ASP.NET 4.

Существует простой обходной путь

Если вы уже находитесь в этом состоянии, перейдите в командную строку и перейдите в каталог установки FX.Затем запустите «aspnet_regiis –iru».

Обратите внимание: если вы работаете на 64-битном компьютере, запустите эту команду из каталога установки 64-битного FX, а не из каталога 32-битной установки.

или для дальнейшего использования попробуйтевключите IIS и параметр расширяемости ASP.NET first , когда вы собираете машины или виртуальные машины.Таким образом, при последующей установке VS 2010 или .NET программа установки автоматически обнаружит наличие IIS и автоматически зарегистрируется на нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...