在我的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()' –
好的,谢谢,让我检查一下。 –