大きなインターフェイスを持つ WCF サービスがあります。クライアント ソリューションには、サービスを利用するクラス ライブラリがありますが、1 つのメソッドと 1 つのデータ コントラクトしかありません。そのクラス ライブラリ プロジェクトではサービス参照は必要ありませんが、代わりにメイン プロジェクトでのみ必要です。
必要な項目だけを含むこのクラス ライブラリにインターフェイスを追加しました。次に、このインターフェイスにキャストしたオブジェクト型のパラメーター「client」を受け入れるメソッドを公開します。実行するたびに「キャストできません」と表示されます。これは、クライアントのインターフェースに多くのメソッドが欠落しているためだと考えています。
WCF https://github.com/cyanfish/Ninject.Extensions.Wcf.Clientの Ninject ライブラリを見ましたが、サーバー ソリューションからインターフェイス全体が含まれていることを前提としています。他の無関係な依存関係があり、このクラス ライブラリをきれいに保ちたいので、これを行いたくありません。また、クライアントのメイン プロジェクトでサービス呼び出しを処理し、結果をクラス ライブラリに渡すこともできますが、それでは分割の目的が無効になります。
他に選択肢はありますか?