2

svcutil.exe (または「サービス参照の追加」) の使用がなぜ悪いのかを説明する資料はたくさんあります。テスト容易性の欠如、密結合などです。単純なサービスのクライアント プロキシを手動で作成するのは簡単です。インターフェイスとチャネルを作成します。

IMessageServiceAsync service = new ChannelFactory<IMessageServiceAsync>("BasicHttpBinding_IMessageEndpoint").CreateChannel(); 

同様のことをしたいのですが、Silverlight PollingDuplex クライアント用です。

これはより難しいようです-生成されたクライアントは継承しますSystem.ServiceModel.DuplexClientBase-手動で作成したクライアントも継承する必要があると思いますか? または、この基本クラスを実装せずに、クライアント側のすべての Duplex コールバック機能を接続する方法はありますか?

誰もこれを試したことがありますか?それは可能ですか?

4

1 に答える 1

2

可能です-例で行っDuplexChannelFactory<T>たのと同様の方法でクラスを使用してプロキシを作成できますが、受信に使用されるコールバックインターフェイスの実装を含むChannelFactory<T>追加のパラメーター(typed)を渡す必要がありますInstanceContextサーバーからのメッセージ。

于 2011-11-14T15:02:33.567 に答える