私は以下のコードを使用しています。私がしたいのは、ユーザーがログインしている間ずっと同じ接続を使用することです。使用についての私の理解は、接続を破棄することですが、私が本当にやりたいことはユーザーがログインすると、接続が作成され、その特定の接続が使用されます。
以下は、C# で接続を設定するために機能することがわかっているコードです。[ThreadStatic] 属性を に適用public static MySqlConnection ATCrawlerConnectionしますが、基本的にユーザーごとに接続を作成し、その接続にアクセスして制限することで、aspx で同様の機能を実現するにはどうすればよいですか?ユーザー?
C# では、これを使用します。
MySQLProcessing.MySQLStatic.ATCrawlerConnection MySQLProcessing.MySQLStatic.OpenCon("10.2", 3306, "user", "pw");
public static MySqlConnection ATCrawlerConnection { get; 設定; }
public static MySqlConnection OpenCon (文字列 ServerAddress、int PortAddress、文字列 UserID、文字列 Password)
{
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;
}
}
}