ASP.NET MVC - как заставить его работать с IIS6 - PullRequest
1 голос
/ 26 августа 2010

У меня возникли проблемы с развертыванием приложения MVC 2 на сервере IIS 6.

У меня следующая структура проекта:

/
   App/
      Controllers/
      Helpers/
      Infrastructure/
      Models/
      Views/
   Public/          # This folder contains CSS and JS files
   Global.asax
   Web.config

У меня есть пользовательский System.Web.Mvc.WebFormViewEngine, которыйговорит моему приложению искать представления в /App/Views вместо значений по умолчанию /Views.

Отлично работает на Cassini и IIS 7.5.

Мне нужно развернуть приложение в виртуальном каталогена IIS 6, и я получаю 404 ошибки при попытке доступа к любому из моих контроллеров.

Я прочитал, что мне нужно было добавить Default.aspx со следующим кодом:

protected void Page_Load( object sender, EventArgs e ) {
    HttpContext.Current.RewritePath( Request.ApplicationPath, false );
    IHttpHandler httpHandler = new MvcHttpHandler();
    httpHandler.ProcessRequest( HttpContext.Current );
}

На самом деле он назвал мой контроллер по умолчанию и показал соответствующее представление, но это единственная страница, которую я смог получить до сих пор.

Я попытался включить сопоставление по шаблону, ничего не изменилось.Но я использую ASP.NET 4.0, и он позволяет маршрутизировать URL без расширений .

Я не совсем уверен, что делать сейчас, я не нахожу никаких другихполезные источники информации в Интернете.

Как я могу заставить это работать?

Ответы [ 2 ]

2 голосов
/ 26 августа 2010

См. это прохождение . Фил Хаак.

1 голос
/ 27 августа 2010

Пока не могу комментировать, но это прохождение. Я сам делал подстановочные знаки.

Это было некоторое время назад, поэтому я не помню чертовых деталей того, что я должен был сделать, чтобы исправить это сейчас, но мне потребовалось несколько часов. Я упустил некоторые действительно мелкие детали в его инструкциях, если я правильно помню. Какую ошибку / неправильное поведение вы получаете? Вы можете вызвать мою память.

...