2011-11-15 28 views
0

我有一個服務,它引用一個包含服務契約的DLL,並且實現在IIS中託管的服務中。WCF的設計問題

我使用的客戶端也引用同一個DLL。

我打電話使用通道工廠服務的方法和我的服務器端點手動定義客戶端節我的客戶app.config

我所有的服務方法都需要在啓動任何數據庫操作之前需要了解的連接字符串。現在我不想在每個功能請求上創建連接,因爲它會降低性能,並且我的服務對於大多數其他組件都很常見,我希望以通用方式製作連接

是否有任何實用程序或設計我可以在WCF中使用的模式?

+1

事實上,我會推薦** **以使DB調用之前一直打開數據庫連接**儘可能晚**,**和**關閉的連接再次作爲儘可能迅速。服務啓動時請勿打開連接並長時間保持打開狀態! –

+1

marc你總是樂於助人,謝謝你 –

回答

1

不知道我完全理解你的問題,但根據你上面寫的內容,似乎你可能會過時地忽略這種情況。

如果您的服務方法需要知道連接字符串(在進行任何數據庫操作之前),爲什麼不把它放在服務的Web.config文件中?

這對我來說似乎是最有意義的。除非我還有一些其他的因素/考慮因素,我錯過了或沒有意識到?另外,根據您的數據庫訪問方式,.NET確實實現了連接池(至少在ADO.NET中)。在這裏看到:

SQL Server Connection Pooling (ADO.NET)