0
我試圖加快一些Web服務調用,並懷疑打開很多NHibernate連接是問題。我知道打開一個到SQL服務器的新連接是非常耗時和昂貴的。但我認爲NHibernate會保留一個連接(因此只需要打開一次),即使我在很多地方打開了一個nhibernate會話。NHibernate SQL服務器連接池?
所以這裏有幾個不同的部分來這樣一個問題:
- 如果我創建一個會話並處理它,然後重新創建它,它需要同時圍繞加載第二次,或者是sql服務器連接仍然在後臺使用?像這樣:
using (var session = new SessionFactory.OpenSession()) {... }; using (var session2 = new SessionFactory.OpenSession()) {.. };
- 如果我創建一個使用語句中的會話,然後創建statment內另一個(不設置它)將它不需要旋轉起來完全是另外一個SQL Server連接在後臺?像這樣:
using (var session = new SessionFactory.OpenSession()) { using (var session2 = new SessionFactory.OpenSession()) {.. }; };
- 最後,是在SQL Server連接跨Web服務調用保存?即,如果我在Web服務請求調用#1上打開一個會話,Web服務請求調用#2是否會更快,因爲隱藏的連接位於後臺的某個位置,它將拾取並使用它?
我知道,在大多數情況下,使用一個會話可能是最好的,但是一個非常大的程序寫了很多新的會話打開,我試圖找出是否真的可以節省很多表現重寫這個或沒有。
謝謝!