2009-03-03 4 views
1

Есть ли способ вызова функций в httpmodule из приложения asp.net, даже если httpmodule находится в другом процессе? Еще лучше, в ситуации, когда пул приложений работает как веб-сад (> 1 рабочий процесс), как я могу общаться со всеми запущенными httpmodules?httpmodule, взаимодействие приложения asp.net

ответ

0

Для связи между процессами веб-сада вам нужно будет использовать что-то вроде удаленного доступа .Net или нового WCF (как указывал casperOne).

+0

@ Давид: хотя Remoting не мертв, WCF обычно намного лучше выбора. – casperOne

2

Вы не должны рассчитывать на один экземпляр HttpModule для запуска, а затем подключать к нему все другие экземпляры.

Скорее всего, вам следует разработать службу, которая выполняет ту работу, которая вам нужна (или какой-либо другой общий программный ресурс, возможно, один сингл в COM +?), А затем ваши HttpModules свяжутся с сервисом, используя какой-то распределенный коммуникационные технологии (я бы рекомендовал WCF, именованный канал канала).

0

Я сделал такие вещи двумя способами. 1) используя удаленный доступ, чтобы настроить веб-службу, чтобы разрешить такие вызовы, и 2) с помощью создания ручных веб-запросов от одного хоста к пространству имен другого.

Если ваш запрос может работать как простой запрос, и результаты в порядке, как html/xml, этот второй подход намного проще (и намного меньше накладных расходов), чем при создании полных веб-сервисов. У вас уже есть архитектура запроса-ответа, учитывая, что это, по сути, веб-сервер, поэтому имеет смысл использовать это, я думаю. Если безопасность вызывает беспокойство, вы можете сделать эти вторичные страницы, которые вы вызываете, дают ответы только на запросы от localhost/127.0.0.1.

Смежные вопросы