2009-05-01 4 views
18

Я создал базовый сайт с использованием маршрутизации ASP.NET в соответствии с примером Майка Ормонда «Использование маршрутизации ASP.NET независимо от MVC». Это отлично работает на моей локальной машине, на которой запущен встроенный веб-сервер.Маршрутизация ASP.NET на IIS 6

Однако, когда я развертываю его на своем сервере (Windows Server 2003, IIS 6, ASP.NET 3.5 SP1), он просто показывает ошибку 404.

Я где-то читал, что имею целью настроить маршрутную подстановку. Как я могу это сделать?

Какие еще изменения конфигурации необходимо сделать, чтобы они работали на моем сервере?

ответ

3

Вы можете найти «официальное» обсуждение сопоставлений подстановочных знаков на TechNet here, но мне нравится прохождение Фила Хаака, что вы можете find here. Не беспокойтесь о том, что это обсуждение настройки ASP.NET MVC, просто найдите раздел под названием «IIS6 Extension-less URLs» - эта настройка применяется как к MVC, так и к использованию маршрутизации с классическим приложением web form.

18

На сервере, откройте IIS:

  1. Щелкните правой кнопкой мыши на/виртуального каталога сайта, выберите свойства
  2. Goto Домашний каталог Вкладка/Virtual Directory, нажмите кнопку Настройка (в нижней части)
  3. в нижней части снова нажмите кнопку вставки
  4. Введите C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll
  5. Alternate: Введите C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll для ASP.NET 4.0
  6. Снимите флажок "Проверить, существует ли файл" кнопку, нажмите кнопку ОК и закройте все диалоги
+0

Для информации пользователь сообщил (теперь удален), что в его случае отсутствует кнопка «Вставить». Конечно, это не ваша вина! –

+3

Любые причины использования версии dll vll, а не v4? – stimms

+0

+1 для создания «Снять отметку» полужирным шрифтом – dragonfly

0

под IIS 6 64 бит, убедитесь, что путь под 4) указывает на C: \ WINDOWS \ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_isapi.dll

0

перезаписи URL может помочь вы должны решить эту проблему. Я реализовал решение, позволяющее развертывать приложение MVC в любой версии IIS, даже если используется виртуальный хостинг. http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx