我正在使用下面的代码,我想要做的是在用户登录期间使用相同的连接。现在我对使用的理解是它处理连接,但我真正想做的是当用户登录时,创建一个连接并让他们使用该特定连接。
下面是我知道的用于在 C# 中设置连接的代码,我会将 [ThreadStatic] 属性应用于public static MySqlConnection ATCrawlerConnection,但是如何在 aspx 中完成类似的功能,基本上为每个用户创建一个连接,然后访问和限制该连接用户?
在 C# 中,我会使用这个:
MySQLProcessing.MySQLStatic.ATCrawlerConnection MySQLProcessing.MySQLStatic.OpenCon("10.2", 3306, "user", "pw");
公共静态 MySqlConnection ATCrawlerConnection { 获取;放; }
公共静态 MySqlConnection OpenCon(字符串 ServerAddress,int PortAddress,字符串 UserID,字符串密码)
{
MySqlConnection masterOpenCON = new MySqlConnection("server=" + ServerAddress + ";Port=" + PortAddress + ";UID=" + UserID + ";PASSWORD=" + Password);// + ";connectiontimeout=" + ConnectionTimeOut + " ;");
masterOpenCON.Open();
返回masterOpenCON;
}
public static DataTable StoreProcedureDTTable(string mysqlQuery, string[] CommandArgs, string queryName)
{
lock (_object)
{
using (MySqlConnection cn = new MySqlConnection(applicationStringClass.AuthMySQLConnector))
{
DataTable DTTableTable = new DataTable();
try
{
MySqlCommand MySQLCommandFunc = new MySqlCommand(mysqlQuery);
MySQLCommandFunc.Connection = cn;
MySQLCommandFunc.CommandType = CommandType.StoredProcedure;
foreach (string args in CommandArgs)
{
string[] splitArgs = args.Split('|');
MySQLCommandFunc.Parameters.AddWithValue(splitArgs[0], splitArgs[1]);
}
MySqlDataAdapter DataDTTables = new MySqlDataAdapter(MySQLCommandFunc);
DataTable DataDTTablesDT = new DataTable();
DataDTTables.SelectCommand.CommandTimeout = 240000;
DataDTTables.Fill(DataDTTablesDT);
DTTableTable = DataDTTablesDT;
}
catch (Exception ex)
{
}
return DTTableTable;
}
}
}