Хранение данных adhoc в контексте запроса WCF

#c# #.net #wcf

#c# #.net #wcf

Вопрос:

В ASP.NET если у вас есть HTTP-модуль или что-то подобное, вы можете добавить дополнительные данные в контекст запроса до того, как запрос фактически будет обработан конечным приложением, используя следующее:

 HttpContext.Current.Items
  

Существует ли аналогичное место (или шаблон) для хранения данных adhoc в конвейере запросов WCF? В принципе, у меня есть пользовательские инспекторы сообщений и поведения, которые должны иметь возможность передавать небольшие фрагменты состояния обслуживающему приложению.

В идеале существует решение для .NET 3.5.

Комментарии:

1. Может быть, вы можете привести пример, чтобы сделать это более понятным?

2. Почему бы просто не передать информацию о состоянии в параметрах как часть вызова метода service?

Ответ №1:

Для этого вы можете использовать свойства сообщения (по сути, это словарь). В инспекторах вы можете добавлять их непосредственно в сообщение. При выполнении операции вы можете получить свойства через OperationContext.Current.Входящие свойства Messageproperties.

Если вы хотите передать данные из операции некоторым инспекторам, которые просматривают ответ, вам следует использовать OperationContext.Current .Исходящие свойства Messageproperties.