在我的web.config我宣佈基於不同的數據庫這樣全局變量問題
<add name="connect15-16" connectionString="Initial Catalog=Database15-16;User ID=sa;Password=pwd; "/>
<add name="connect16-17" connectionString="Initial Catalog=Database16-17;User ID=sa;Password=pwd; "/>
<add name="connect17-18" connectionString="Initial Catalog=Database17-18;User ID=sa;Password=pwd; "/>
<add name="connect18-19" connectionString="Initial Catalog=Database18-19;User ID=sa;Password=pwd; "/>
<add name="connect19-20" connectionString="Initial Catalog=Database19-20;User ID=sa;Password=pwd; "/>
在登錄的時候很多的ConnectionStrings,用戶根據所選擇的數據庫軟件來選擇相應的數據庫,然後連接到所需數據庫。
我創建了這樣
public static class Connections
{
public static SqlConnection Connection {get; set;}
public static void Init(string Name)
{
Connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager
.ConnectionStrings[Name].ConnectionString);
}
}
這是工作的罰款連接用戶所需的數據庫全局類。但是當我在localhost上運行它並且多個用戶訪問它時,主要問題就開始了。
如果用戶1連接到connect15-16和經過一段時間後用戶2連接到connect16-17然後連接可變overites的值和用戶1與自動connect16-17 連接。 因爲到處都在我的應用程序中使用這樣的連接變量,我不能使用不同的變量,針對不同的用戶:
Connections.Connection.Open();
Connections.Connection.Close();
你的意思是說,在每一頁上我必須改變我的代碼SqlConnection sqlCon = Connections.Connection [「UserId」]; sqlCon.Open();而不是Connections.Connection.Open(); –
不需要你可以像這樣調用'open()''Connections.Connection [「UserId」]。Open()' –
好的,謝謝,讓我檢查一下。 –