Направление запроса в IIS - PullRequest
0 голосов
/ 23 июня 2010

У меня есть набор веб-сервисов, написанных на классическом ASP. Я хочу конвертировать их в asp.net, но это будет долгий процесс. Я хочу преобразовать пару функций одновременно и использовать какой-то механизм маршрутизации, чтобы выбрать, к какой версии направляются запросы (классический asp или asp.net).

Изменение URL-адреса, используемого для доступа к веб-службе и функциям, исключено.

Используемая функция определяется параметром в строке запроса.

Кажется, я не могу использовать Server.Transfer для перехода с asp.net на asp или наоборот.

У кого-нибудь есть предложения?

Ответы [ 3 ]

1 голос
/ 25 июня 2010

Если все будет работать на одном сервере (IIS 7), вы можете использовать URL Rewrite, чтобы просто использовать регулярные выражения или карту (таблицу), чтобы сделать это: http://www.iis.net/download/URLRewrite

Таким образом, ваши URL не нужно будет менять, вам не понадобятся дополнительные серверы или дополнительное «прокси-программное обеспечение», просто очень быстрая ранняя перезапись (для тех, кто знаком с apache, это как mod_rewrite).

Если вам требуется FW на отдельный сервер (т. Е. Вам нужен обратный / прямой прокси-сервер), лучше всего использовать маршрутизацию Application REquest (http://www.iis.net/download/ApplicationRequestRouting), которая фактически использует возможности перезаписи URL, чтобы иметь очень гибкие механизмы маршрутизации и с исключительной производительностью и расширенными функциями, такими как кэширование в режиме ядра и кэширование на диске.

0 голосов
/ 23 июня 2010

Вы можете создать веб-сервис-оболочку.

Скомпилируйте ваш текущий классический asp (и веб-сервис asp.net, в который вы хотите конвертировать), используя новые пространства имен. Скажем, ваш текущий веб-сервис asp называется «MyWebService» ... скомпилируйте его в MyWebServiceAspClassic, а недавно преобразованный веб-сервис в «MyWebServiceAspNet».

Скомпилируйте совершенно новый веб-сервис (MyWebServiceWrapper), используя текущий URL, который вы упомянули выше. Затем, обратитесь к двум недавно скомпилированным MyWebService в вашей оболочке WebService. Затем вы можете использовать параметр QueryString, чтобы решить, какой ссылочный веб-сервис использовать. Уф! Имеет смысл?

0 голосов
/ 23 июня 2010

Не уверен, но рассматривали ли вы какой-либо прокси-сервер ( apache mod proxy или squid и т. Д.), Чтобы перенаправить запрос с одного URL-адреса на другой URL-адрес, возможнодругой сервер?Вы должны быть в состоянии настроить прокси-сервер для перенаправления одного или нескольких вызовов службы в реализации asp или asp.net на одном и том же или разных серверах.

Наслаждайтесь!

...