如何在我的Connection类中使用“using”

我想在我的代码中使用for SqlConnection

 using (SqlConnection Con = new SqlConnection()) 

但是我在Connections类中使用了几个连接的dictionary 。 这是我的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 _Connection = new Dictionary(); public static Dictionary 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

如果你真的想要,只需使用Connections.Connection[UserName] 。 返回相同的SqlConnection 。 然而,这将处置它。 您的模式/设计存在缺陷,因为ADO.NET具有连接池。

您还可以添加自己的实现IDisposable的包装对象。