#.net #wcf #wcf-client
#.net #wcf #wcf-клиент
Вопрос:
Скажем, я нахожусь на стороне клиента, где цепочка выглядит примерно так (упрощенно):
- Вызов метода прокси
- Проверка параметров (
IParameterInspector
) - Сериализация / форматирование сообщения
- Проверка сообщений (
IClientMessageInspector
) - Канал
Есть ли какие-либо средства для передачи моего контекста по цепочке?
Проблема, которую я пытаюсь решить, заключается в том, что IParameterInspector.AfterCall()
в случае сбоев не вызывается get, и я не могу получить объект состояния корреляции, который я создал в IParameterInspector.BeforeCall()
, могу ли я? Но если бы я мог сохранить это в каком-то контексте, я бы извлек его, например, в IClientMessageInspector.AfterReceiveReply()
и был бы счастлив.
Ответ №1:
OperationContext
недоступен внутри IClientMessageInspector
. В итоге появилось ThreadStatic
поле в надежде, что у меня не возникнет проблем с многопоточностью.