ASP.NET Routing (в WebForms) не работает при развертывании под IIS, работает в IDE - PullRequest
2 голосов
/ 17 марта 2010

У меня есть веб-приложение ASP.NET (веб-формы, а не MVC), разработанное в VS 2008, и я реализовал маршрутизацию URL-адресов веб-форм ASP.NET, перейдя по этой ссылке http://www.4guysfromrolla.com/articles/051309-1.aspx#postadlink

Он работает довольно хорошо, когда я запускаю его на IDE Visual studion. Но не работает, когда я создал сайт под своим IIS (IIS 5.1 в XP) и развернул там те же файлы. Я установил версию ASP.NET как 2.0 в окне Свойства моего приложения тоже. Но не работает. Есть идеи, почему? Есть что-нибудь еще, чтобы быть настроенным? Заранее спасибо

Ответы [ 3 ]

3 голосов
/ 19 марта 2010

Попробуйте использовать следующее содержимое из «Использование ASP.NET MVC с разными версиями IIS» @ http://www.asp.net/%28S%28ywiyuluxr3qb2dfva1z5lgeg%29%29/learn/mvc/tutorial-08-cs.aspx

Создание карты сценария с подстановочными знаками
Если вы не хотите изменять URL-адреса для своего приложения ASP.NET MVC и имеете доступ к своему веб-серверу, у вас есть дополнительная опция. Вы можете создать карту сценариев с подстановочными знаками, которая сопоставляет все запросы к веб-серверу с платформой ASP.NET. Таким образом, вы можете использовать таблицу маршрутов ASP.NET MVC по умолчанию с IIS 7.0 (в классическом режиме) или IIS 6.0.

Имейте в виду, что эта опция заставляет IIS перехватывать каждый запрос, сделанный к веб-серверу. Это включает запросы на изображения, классические страницы ASP и страницы HTML. Поэтому включение сопоставления сценариев с подстановочными символами в ASP.NET имеет значение для производительности.

Выполните следующие действия, чтобы создать карту сценариев с подстановочными знаками в IIS 6.0:
1. Щелкните правой кнопкой мыши веб-сайт и выберите Свойства
. 2. Выберите вкладку Домашний каталог
3. Нажмите кнопку Конфигурация
4. Выберите вкладку Mappings
5. Нажмите кнопку Вставить (см. Рисунок 4)
6. Вставьте путь к aspnet_isapi.dll в поле Исполняемый файл (вы можете скопировать этот путь из карты сценариев для файлов .aspx)
7. Введите ". *" В поле "Расширения"
8. Снимите флажок Проверять, существует ли файл
9. Нажмите кнопку ОК

1 голос
/ 30 июня 2010
0 голосов
/ 17 марта 2010

Вы пытаетесь переписать для определенного расширения файла, или вы пытаетесь направить все запросы?

Причина, по которой я спрашиваю, заключается в том, что у вас может не быть успешной маршрутизации с подстановочными знаками в IIS 5.1.

Это работает на IIS6, если вы указываете карту подстановки для фильтра ASP.NET ISAPI. Ссылка с дополнительной информацией

IIS7 поддерживает это через интегрированный конвейер.

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