Маршрутизация ASP.NET на IIS 6

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

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

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

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


person Community    schedule 01.05.2009    source источник


Ответы (5)


Вы найдете полезную информацию в сообщении блога Стива Сандерсона "Развертывание ASP.NET MVC в IIS 6. "

person Johnno Nolan    schedule 01.05.2009

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

  1. Щелкните правой кнопкой мыши сайт / виртуальный каталог, выберите свойства
  2. Перейдите на вкладку Домашний каталог / Виртуальный каталог, нажмите Конфигурация (внизу).
  3. Внизу снова нажмите кнопку вставки
  4. Введите C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll.
  5. Альтернативный вариант: введите C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll для ASP.NET 4.0.
  6. Снимите флажок с кнопки "Проверить, существует ли файл", нажмите "ОК" и закройте все диалоговые окна.
person Chris Van Opstal    schedule 01.05.2009
comment
Для информации: пользователь сообщил (теперь удален), что в его случае отсутствует кнопка вставки. Конечно, это не твоя вина! - person Marc Gravell; 09.01.2010
comment
Есть ли причина использовать версию dll v2, а не v4? - person stimms; 14.07.2011

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

person hilkiah    schedule 01.05.2009

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

person Community    schedule 24.07.2009

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

person Alex Ilyin    schedule 24.11.2009