私はクライアント& WCFを使用して通信するサーバーアプリケーションを持っています。各WCFメッセージヘッダにいくつかのカスタムセッション情報を追加するために、私は「ClientChannelProxy」クラスにクライアントWCFチャネルを包み、側面を使用して、私のカスタムヘッダー情報を追加するためにユニティ傍受拡張子を使用していました。ユニティ - WCFサービスクラスの傍受?
IUnityContainer container = new UnityContainer();
container.AddNewExtension<Interception>();
container.RegisterType<IClientService, ClientServiceProxy>();
container.Configure<Interception>().SetInterceptorFor<IClientService>(new
TransparentProxyInterceptor());
これは、上記のコードを使用してeasityコンテナとインターセプトをeasly設定できるので、これはクライアントにとってうまくいきます。
しかし、サーバー側で統一と傍受をセットアップする方法はありますか?私のWCFサービスは.SVCファイルで設定されています。私は傍受を設定し、自分の側面を実行する可能性はありません。
<%@ ServiceHost Language="C#" Debug="true" Service="Test.ClientService" %>
<!-- How to configure Unity Interception for this WCF-Service ? -->
誰でも私がそれを稼働させるのに役立つだろうか。 ありがとう!
あなたは呼び出しが実際のサービスクラスに到達する前にいくつかのハンドラを追加しますか? – Kangkan
Exaclty。クライアントでは、いくつかのプリンシパル情報をWCFメッセージヘッダーに追加します。サーバーはこのヘッダー情報を読み取って、実際のサービスクラスが呼び出されるカスタムプリンシパルオブジェクトをビルドする必要があります。 – Alexander
私はこれを見て答えを追加しました。 – Kangkan