嗨,如果操作被修饰,我需要在消息中注入自定义标头。
到目前为止我做了什么?1) 通过继承 Attribute 和 IOperationBehavior 创建一个 Attribute 2) 附加一个自定义 OperationInvoker 与操作
属性:
public class RankAttribute : Attribute, IOperationBehavior
{
public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
{
dispatchOperation.Invoker = new PublishMessageInvoker(dispatchOperation.Invoker);
}
//rest of the methods
}
界面:
public interface INullableService
{
[OperationContract]
[FaultContract(typeof(BusinessServiceException))]
[Rank]
NullableResponse NullChecking(NullableRequest request);
[OperationContract]
[FaultContract(typeof(BusinessServiceException))]
NullableResponse NullChecking2(NullableRequest request);
}
现在的问题是,我不知道在哪里修改消息头,我可以通过 operationDiscription.Messages[] 访问消息,但文档说任何修改都会产生意想不到的结果。
谢谢, 阿维纳什