Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.net C#:管理公共类中的连接_C#_Asp.net_Sql Server - Fatal编程技术网

ASP.net C#:管理公共类中的连接

ASP.net C#:管理公共类中的连接,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我是ASP.net的初学者。试图开发一个类来管理我的sql连接。我已将连接字符串保存在网络配置中。 我面临的唯一问题是,在这门课上,我所有的联系都是开放的。 如何在类中使用构造函数关闭连接 public class DBSettings { static string DBConn { get { return ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString; }

我是ASP.net的初学者。试图开发一个类来管理我的sql连接。我已将连接字符串保存在网络配置中。 我面临的唯一问题是,在这门课上,我所有的联系都是开放的。 如何在类中使用构造函数关闭连接

 public class DBSettings
{
    static string DBConn

    {
        get { return ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString; }
    }


    public static SqlConnection sqlConn
    {
        get
        {
            SqlConnection Conn = new SqlConnection(DBConn);
            Conn.Open();
            return Conn;
        }
    }



}

你为什么要这么做?!这种方法增加了可读性,如果你想更改连接字符串,你只需要做一次。这是一个非常糟糕的主意。您需要了解SqlConnection实现了什么。我同意,这是个坏主意。SQL连接会自动为您合并。没有理由这样做。在当前的实现中,您需要显式关闭连接并处置资源,例如SqlDataReader。我必须同意Mason和Amy使用IDispossible或使用using语句的观点,该语句本质上实现了try-finally块。这允许系统管理和释放这些资源。换句话说,它可以防止被遗忘的资源管理和清理。