2016-08-13 7 views
0

私はWCFを初めて使用しており、サービスメソッドを呼び出すためのベストプラクティスに興味があります。アプリケーションは一連のフォームで構成され、各フォームのグローバルクライアントインスタンスを宣言し、必要に応じてメソッドを呼び出すほうがよいかどうかを知りたいと思います。または、各メソッド呼び出しの前にクライアントプロキシをインスタンス化し、その直後にクライアントプロキシを閉じる方がよいでしょう。wcfクライアントの初期化とメソッド呼び出し

答えて

0

各フォームのクライアントのグローバル変数を作成すると、サービスメソッドを呼び出す前に毎回サービスをインスタンス化する必要はありません。

public MyService ser {get; set;} 

内部クラスコンストラクタです。

ser = new MyService(); 
0

最も簡単で安全な方法は、使用するたびにクライアントプロキシを構築することです。 このアプローチの欠点はパフォーマンスの低下ですが、バインディング(http、net.tcpなど)とサービスモード(PerCall、Statefull、Singleton)によって違いはわかりません(この回答WCF Proxy Pooling - Is it worth it?参照)。

フォームレベルでプロキシを作成した場合、このプロキシがフォールト状態になっていると(接続の問題により)、プロキシを再利用できなくなり、フォームを再度開く必要があります。

関連する問題