我想在我的代码中使用SqlConnection
,就像这样
using (SqlConnection Con = new SqlConnection())
但是我在dictionary
类中使用了Connections
几个连接。这是我的Connections
类的代码。
public static class Connections
{
public static string BillReport { get; set; }
public static string DuesReport { get; set; }
public static string GeneralReport { get; set; }
public static string PendingReport { get; set; }
public static string RadiologyReport { get; set; }
public static string HistoReport { get; set; }
public static string SMSAPI { get; set; }
public static string SenderId { get; set; }
public static string SMSUserName { get; set; }
public static string SMSContent { get; set; }
public static string CompanyAddress { get; set; }
public static string CompanyMobile { get; set; }
private static Dictionary<string, SqlConnection> _Connection = new Dictionary<string, SqlConnection>();
public static Dictionary<string, SqlConnection> Connection
{
get { return _Connection; }
set { _Connection = value; }
}
public static void Init(string Name)
{
string user = HttpContext.Current.Session["UserName"].ToString();
//INIT YOUR CONNECTION PROPERTY HERE
if (!Connection.ContainsKey(user))
{
Connection.Add(user, new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings[Name].ConnectionString));
}
else
{
//if (Connection[user] == null)
//{
Connection[user] = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings[Name].ConnectionString);
//}
}
}
}
所以每当我必须使用连接时,我都会写这个......
Connections.Connection[UserName].Open();
但是如何在Using
答案 0 :(得分:1)
如果您真的想,请使用SqlConnection
。返回相同的IDisposable
。然而,这将处置它。您的模式/设计存在缺陷,因为ADO.NET具有连接池。
您还可以添加自己的包装对象,实现Spring 4.3.1.RELEASE
。