これは、Mark Miller の MVVM チュートリアルに関する質問です。
「IClientChannel のラッピング」に関して 3 つの質問があります。
質問1:
マークは次のように書いています。
ClientChannelWrapper をインスタンス化する方法は次のとおりです。
IClientChannelWrapper service = new ClientChannelWrapper("BasicHttpBinding_IMessageEndpoint");
「BasicHttpBinding_IMessageEndPoint」は、ClientConfig ファイル内のエンドポイント構成の名前です。
私の質問は、「サービス参照の追加...」を行っていたとき、エンドポイント文字列を指定しなくてもクライアント オブジェクトを作成できたということです。マークの方法を使用すると、この文字列を指定する必要があり、それが私にとっての制限のようです。エンドポイント文字列を渡さずに彼の「IClientChannelWrapper」を使用する方法はありますか? どういうわけか「サービス参照の追加...」が行うことを模倣しますか?
.
質問2
私は、WCF サービスに接続する WPF アプリを含むほとんどの例で、ASYNC 操作を使用していることを知っています。私の質問は - これはなぜですか?マークの方法を使用すると、2 つのインターフェイス (SYNC と ASYNC) を作成する必要があり、オーバーヘッドのように見えます。別のスレッドから呼び出すだけで SYNC 操作を呼び出さないのはなぜですか?
.
質問 3:
マークのクラスは「デュプレックス」サービスでも機能しますか?
コールバック メソッド経由で通知を受け取るために接続する必要がある WCF サービスがあります。