0

単一インスタンス、単一スレッドの WCF サービス (要件) があります。ClearUnmanagedState()たとえば、すべての操作コントラクトが実行される前に、1 つの機能を実行する必要があります。IDispatchMessageInspectorこのためにandを実装しAfterReceiveRequestましたが、操作が実行されようとしているときではなく、メッセージの受信時にこれが実行されることがわかりました。

したがって、この要件InstanceContextMode.Singleに関しては尊重されていません。ClearUnmanagedState()

操作コントラクトの実行前に単一のコンテキスト、単一のスレッドの実行を許可するために実装できる WCF サービスの動作はありますか?

4

1 に答える 1

0

IOperationInvokerが必要です。

最適な実装例の 1 つは、Carlos Figueira のブログ: WCF Extensibility – IOperationInvoker です。

操作呼び出し元は、ユーザー コード (サービス実装) に到達する前に呼び出される WCF ランタイムの最後の要素です。ランタイムに代わってサービス操作を実際に呼び出すのは、呼び出し元の役割です。

于 2013-06-21T17:07:27.333 に答える