プロキシを使用して WCF メソッドを呼び出すクライアントとして Web アプリケーションを使用しています。
クライアントオブジェクトによって行われるリクエストごとに、いくつかのプロパティを設定する必要があります (リクエストクラス内で宣言されています) 実際の Web サービス呼び出しを行う直前に、メソッドをフックすることは可能ですか?
現在、サービス コードを変更することはできません。この場合、WCF 拡張ポイントを利用できますか?
ご協力いただきありがとうございます。
プロキシを使用して WCF メソッドを呼び出すクライアントとして Web アプリケーションを使用しています。
クライアントオブジェクトによって行われるリクエストごとに、いくつかのプロパティを設定する必要があります (リクエストクラス内で宣言されています) 実際の Web サービス呼び出しを行う直前に、メソッドをフックすることは可能ですか?
現在、サービス コードを変更することはできません。この場合、WCF 拡張ポイントを利用できますか?
ご協力いただきありがとうございます。
メソッドparametersのプロパティを変更したい場合は、 を使用しIParameterInspector
てそれを行うことができます。その時点で、サーバーに送信されるすべてのパラメーターを含む配列が得られるからです。
リクエストの他の部分 (トランスポートや SOAP ヘッダーなど) を変更する必要がある場合は、IClientMessageInspector
を使用するのが最善の方法かもしれません。
クライアント側の多くの拡張ポイントの詳細については、http://blogs.msdn.com/b/carlosfigueira/archive/2011/03/14/wcf-extensibility.aspxでブログ シリーズを確認できます。