2008-10-20 40 views

回答

0

當你說「這些實例在運行時產生一次,並用於服務的其餘部分」時,你的意思是連接對象嗎?另外,你的意思是你保持連接對象在你服務的整個生命週期中保持開放嗎?如果你的服務是多線程的並且你只有一個連接實例(比如單例或者靜態類),你必須確保連接一次只能被一個線程使用。

沒有看到太多的代碼,這聽起來像是如何對待你從工廠獲得的IDbConnection,而不是工廠本身的問題。

我們對我們的多線程應用程序使用DbProviderFactory非常繁重,這些應用程序連接到Oracle,FoxPro和SqlServer,我還沒有看到這個問題。

祝你好運!

裏卡多。

+0

不,我不是指連接對象。我的意思是通過調用DbProviderFactories.GetFactory()創建的實際的DbProviderFactory對象。所以工廠只創建一次,然後用於創建連接,命令,適配器和參數。 – 2008-10-21 16:44:33

3

從MSDN:這種類型的 線程安全

任何公共靜態(在Visual Basic中的Shared)成員都是線程安全的。任何實例成員不保證是線程安全的。