2010-05-21 45 views
1

在過去,我使用單例模式在應用程序通過global.asa文件啓動時加載連接字符串。每個用戶存儲的連接字符串

我現在有一個項目,每個用戶都有一個唯一的數據庫連接字符串。我想加載這個連接字符串一次。問題是單身模式不適用於我,因爲每個用戶都有自己的連接字符串。基本上連接字符串是動態創建的。

我不想存儲它是會話。如果無論如何有一個聰明的方式在.NET中這樣做讓我知道?

+0

你是如何使用連接字符串? – SLaks 2010-05-21 22:10:26

+0

我們正在使用現有的連接字符串。然後用存儲在數據庫中的特定號碼替換用戶ID和密碼。這樣我們就可以跟蹤每個登錄到數據庫的用戶。我希望我可以在用戶登錄時設置連接字符串,並在需要時讓我的代碼調用它。我不想在每次需要時不斷建立它。 – pehaada 2010-05-24 20:53:51

回答

2

就資源而言,與數據庫的連接相當昂貴,而且我個人建議您重新考慮您的每個用戶需求。除非你能保證用戶總數會非常小(比如不超過5-10)。

話雖如此,您可以將連接存儲在代表您的用戶的User對象中。或者有一個將用戶標識映射到連接字符串的全局字典。

如果連接字符串之間的唯一區別是用戶名/密碼,則可以考慮模擬客戶端並在SQL Server中使用Windows身份驗證。

+0

你是什麼意思在USER對象?現在USERID存儲在會話中。我不想存儲會話中的連接。 – pehaada 2010-05-24 20:55:13