クライアントとサーバー アプリケーション間の通信に WCF を使用しています。クライアント アプリケーションには、サーバーとの通信を必要とする多くの機能があります。これを複数のクラスで実装することを選択しました (責任の分離)。
当面は、請求、会計、コンテンツ管理などのオブジェクトごとに新しい WCF エンドポイントとサービス コントラクトを作成します。これにより、クライアントとサーバーの両方で多くのエンドポイント構成が発生します (テストと生産プラットフォーム)。
複数のサービス連絡先の実装を提供できる単一の WCF エンドポイントを定義できるかどうかを知りたいです。構成ファイルには (サービス ファクトリへの) 単一のエンドポイントが含まれ、関心のあるサービスのインターフェイスを指定することで、さまざまなサービスを要求できます。
例えば
using (IServiceClientFactory serviceClientFactory = new RealProxyServiceClientFactory())
{
// This is normal WCF proxy object creation.
IServiceFactory serviceFactory = serviceClientFactory.CreateInstance<IServiceFactory>("");
// This is what we would like to do
IInvoiceService invoiceService = serviceFactory.getService(typeof(IInvoiceService));
invoiceService.executeOperation(data);
}
手がかりは、利用可能にしたいサービス連絡先ごとのエンドポイント構成ではなく、クライアント/サーバーのペアごとの単一のエンドポイント構成です。
これは可能ですか?