获取连接错误连接必须有效并打开
这是我的数据访问层,但我不知道为什么我在多用户使用时出现连接错误,并且当超过1个用户访问网站时,我检查了所有内容但未能修复它是我发布我的代码。这是更新的代码。它再次卡住,并导致与最后的代码相同。我知道二硝基甲苯为什么它发生了,当超过1个用户尝试访问登录,但随后其没有工作更长时间后1〜2薄荷糖获取连接错误连接必须有效并打开
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Configuration;
public class clsMySqlConnection
{
public MySqlConnection con = null;
protected MySqlConnection getConnection()
{
if (con == null || con.State != ConnectionState.Open)
{
con = new MySqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
con.Open();
}
return (con);
}
}
public class clsManagement : clsMySqlConnection
{
public DataTable getData(string MySql)
{
MySqlCommand cmd = new MySqlCommand();
MySqlDataAdapter da = new MySqlDataAdapter();
DataTable dt = new DataTable();
cmd.CommandText = MySql;
cmd.Connection = getConnection();
da.SelectCommand = cmd;
da.Fill(dt);
return (dt);
}
public MySqlDataReader ExecuteActionQuery(string MySql)
{
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = MySql;
try
{
cmd.Connection = getConnection();
cmd.ExecuteNonQuery();
MySqlDataReader rdr = cmd.ExecuteReader();
return (rdr);
}
catch (Exception)
{
throw;
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}
}
public int ExecuteDML(string MySql)
{
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = MySql;
try
{
cmd.Connection = getConnection();
return cmd.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}
}
}
您可以直接创建一个新的连接,并从getConnection()
函数返回。
protected MySqlConnection getConnection()
{
MySqlConnection con = new MySqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
con.Open();
}
并在本地范围内使用con
变量。
public static MySqlConnection con = null; 保护的MySqlConnection的getConnection() { 如果(CON == NULL || con.State = ConnectionState.Open!) { CON =新的MySqlConnection(ConfigurationManager.ConnectionStrings [ “conn将”]的ConnectionString); con.Open(); } return(con); } –
这就是问题,除去这个'public static',使'con'在所有函数的局部范围内变量。 –
当超过1个用户访问时仍然网站卡住。 –
请发布错误的全文。 – theFunkyEngineer