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

时间:2017-04-27 12:11:00

标签: c# asp.net

我想在我的代码中使用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

中使用它

1 个答案:

答案 0 :(得分:1)

如果您真的想,请使用SqlConnection。返回相同的IDisposable。然而,这将处置它。您的模式/设计存在缺陷,因为ADO.NET具有连接池。

您还可以添加自己的包装对象,实现Spring 4.3.1.RELEASE