2013-08-28 91 views
3

這個問題是關係到我的老question連接池和應用程序域

1)I有這需要一些databases.So連接現在如果我打開的相同的應用程序(exe文件的多個實例的vb.net應用),則它使用不同的連接或使用多個連接。那麼我可以讓它使用單一連接?

2)我聽到關於應用程序域(一個AppDomain提供一種方法,內隔離層)。它是否有助於使連接從同一個池中獲取並優化資源使用? 這article有與之相關的東西。

回答

2

不同的進程(你的情況#1)沒有(也不可能)共享數據庫連接,每個連接是唯一的過程。

我不知道連接池是否每個進程或每個應用程序域。 但它不太可能有太大的區別。您應該瞄準的模型是創建,使用並關閉每個功能數據庫操作周圍的連接。不要試圖讓它們敞開,而是試着讓它們閉合。這最大限度地提高了重複使用的重複使用機會。

除非你有一個特別的意願,在理論上需要的默認池,而避免保持連接打開只會工作一些額外的連接。


作爲連接將從池這將是相當困難,以確定其中哪些是的情況下返回之前復位。也許一個測試程序打開了一個應用程序域,在另一個應用程序域重複該過程之前使用並關閉一個連接,並查看是否建立了與數據庫的一個或兩個連接。

0

每個AppDomain都有自己的連接池,所以不,我不認爲使用AppDomains會對您的情況有所幫助。