2016-08-08 4 views
1

を知らなくても、WCFサービス契約を登録することができます。は、どのように私は私が書くと城ウィンザーなしで実装

var channelFactory = new ChannelFactory<ICredentialService>("Default"); 
ICredentialService credentialService = channelFactory.CreateChannel(); 

どのように私は城ウィンザーAPIを使用してWCFサービス契約を登録することができますか?

答えて

3

あなたのコンテナにWcfFacilityを追加し、プロジェクトに

Castle Windsor WCF integration facility Nugetパッケージを追加します。

その後
container.AddFacility<WcfFacility>(); 

、あなたはあなたのサービス・インターフェースへの依存関係を持っている場合、WCFクライアントを提供するために、コンテナに教えます:

container.Register(
    Component.For<ICredentialService>() 
     .AsWcfClient(WcfEndpoint.FromEndpoint("EndpointName"))); 

.configで指定されたエンドポイントを使用してエンドポイントの設定を取得します。

コンテナから解決されたクラスがICredentialServiceにコンストラクタ依存関係を持つたびに、コンテナはWCFクライアントを挿入します。

関連する問題