#wcf #httpmodule
#wcf #httpmodule
Вопрос:
В настоящее время у меня есть HttpModule, который генерирует уникальный идентификатор для каждого запроса внешнего клиента, добавляет его в журнал IIS и в HttpContext.Сбор элементов для передачи в веб-службу thw.
В настоящее время я заменяю веб-службу службой WCF (все еще размещенной в IIS). Я могу успешно выполнить тот же процесс, включив совместимость с AspNet, но я бы предпочел этого не делать. Есть ли какой-либо способ передать данные из HttpModule, чтобы указать OperationContext службы WCF, не включая совместимость с AspNet?
Ответ №1:
Вот что говорит MSDN о расширяемости HttpModule: инфраструктура хостинга WCF перехватывает запросы WCF при возникновении события PostAuthenticateRequest и не возвращает обработку в ASP.NET HTTP-конвейер. Модули, которые закодированы для перехвата запросов на более поздних этапах конвейера, не перехватывают запросы WCF.
Я предлагаю вам полностью ознакомиться с этой документацией MSDN, чтобы понять, как ASP.Net и WCF сосуществуют
Комментарии:
1. В настоящее время я генерирую свой идентификатор в BeginRequest, который все еще выполняется до перехвата вызова.
2. Извините, я пропустил раздел «Раздел uniqueid» после обработки модуля. Добавление http-заголовка может быть чем-то, что вы можете изучить, но это больше похоже на взлом. forums.asp.net/p/979853/1250479.aspx
3. К сожалению, я уже пробовал этот подход, и он не увенчался успехом, поскольку я не веб-приложение.