Может ли MVC работать на 3.5 IIS6? НЕ SP1 - PullRequest
2 голосов
/ 09 июля 2009

Я был уверен, что приложения MVC могут быть развернуты в BIN, поэтому могут быть развернуты на любом совместимом с ASP.net 3.5 сервере. Я пытаюсь выполнить развертывание на Windows Server 2003 x64 с 3.5 (без пакета обновления 1), и у меня возникают проблемы с его работой.

При попадании на домашнюю страницу я получаю следующее сообщение, которое перенаправляется в представление / Account / LogOn из-за конфигурации нашего приложения.

Страница не найдена

У меня есть три (плюс Расширения, я не могу вспомнить, почему). Для MVC dll установлено значение Копировать локально, поэтому они попадают в папку bin Я публикую и копирую приложение на сервер:

  • System.Web.Abstractions.dll
  • System.Web.Mvc.dll
  • System.Web.Routing.dll
  • System.Web.Extensions.dll

Кто-нибудь знает, что я делаю не так? Приложение работает на другой машине с 3.5 SP1, а также на машинах для разработчиков, также SP1 и с установленным MVC.

Я просмотрел все, что мог придумать, проверил правильность разрешений и т. Д.

Ответы [ 4 ]

5 голосов
/ 09 июля 2009

IIS 6 неправильно обрабатывает расширения .mvc. Среди прочего вы должны сопоставить .mvc с обработчиком ASP.NET. Вот пошаговое руководство для вас: http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

2 голосов
/ 09 июля 2009

Вы установили сопоставление с подстановочными знаками на сервере, который не работает? См. «Развертывание ASP.NET MVC в IIS 6» для примера. В основном вам нужно сопоставить все запросы с DLL-библиотекой ASP.NET ISAPI и сказать IIS не пытаться проверить, существует ли файл. Не знаю, в этом ли ваша проблема, но она несколько раз укусила меня при развертывании.

0 голосов
/ 09 июля 2009

Убедитесь, что пул приложений, на котором работает ваш сайт, настроен для работы ASP .Net 2.0, иногда по умолчанию он равен 1.1, что вызывает проблемы, аналогичные вашим.

0 голосов
/ 09 июля 2009

В IIS6 нельзя создавать URL без расширений, например /Account/LogOn. Вы должны сделать что-то вроде /Account.aspx/LogOn .aspx может быть практически любым произвольным расширением, но вам нужно это расширение. Ваши маршруты также должны учитывать расширение.

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