Я в настоящее время работаю над сервисом WCF, который обращается к другому сервису для представления информации в нескольких ее операций. Прокси для второго сервиса сгенерирован через со строгим контролем типов ProxyFactory<T>
класс. Я не испытал проблем, но услышал, что должен сделать что-то как следующее при совершении вызова:
using (new OperationContextScope((IContextChannel)_service))
_service.Send(message);
Таким образом, мой вопрос: когда создает это новое OperationContextScope
соответствующий, и почему?
Спасибо!
Если вы используете обратные вызовы или хотите изменить сообщение или заголовки, вам необходимо использовать OperationContextScope
. Вашему сервису может потребоваться изменить исходящие заголовки при вызове этого другого сервиса.
Когда вы устанавливаете OperationContextScope
, вы можете:
OperationContext
, или (если канал реализует System.ServiceModel.Channels.ISession
) идентификатору сеанса связанного канала. Другая услуга, которую вы вызываете, это услуга на основе сеанса? Возможно, вам нужно взглянуть на его образец клиентского кода или документацию, если таковая имеется.