こんにちは、操作が装飾されている場合、メッセージにカスタム ヘッダーを挿入する必要があります。
私はこれまでに何をしましたか?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[] を介してメッセージにアクセスできますが、ドキュメントには、変更すると予期しない結果が生じると記載されています。
ありがとう、アビナッシュ