連接到WCF服務的最佳方式是什麼?我的意思是什麼方法更好:創建WCF客戶端實例
- 創建DataServiceClient比如我想調用WCF API函數每一次,或
- 創建DataServiceClient情況下一次,當應用程序啓動和跨越整個應用程序傳播它。
第一種方法效率低於第二種方法嗎?
連接到WCF服務的最佳方式是什麼?我的意思是什麼方法更好:創建WCF客戶端實例
第一種方法效率低於第二種方法嗎?
它的議論,但
我想要調用WCF API函數每次創建DataServiceClient實例或
會給一個延遲實例。除非需要,否則不會創建代理對象。而
創建DataServiceClient實例一次,當應用程序啓動並且 在整個應用程序中傳播它。
會去渴望實例化。即使您不需要這樣做,您也不必要地創建代理對象。
最好的是,無論哪個班級/班級;您需要使用WCF服務方法;在類/ Form構造函數中創建代理對象並使用相同的實例。像
Public class Form1 : Form
{
private proxyobjecttype _client;
public Form1()
{
_client = mywcfnamespace.Proxyobject();
}
private void someconsumermethod()
{
_client.callWCFmethod1();
}
}
它取決於您打算髮送查詢的頻率,以及您使用的協議。
如果它每長時間間隔只是一個請求,那麼值得關閉客戶端以節省系統資源。
如果您打算執行一系列查詢,最好保留客戶端直到系列結束。
最後,如果客戶端的創建成本很高(例如網絡中的連接超時),您可以實施一個客戶端池。