相关疑难解决方法(0)

"打开/关闭"SqlConnection还是保持打开状态?

我的业务逻辑是用静态方法在简单的静态类中实现的.这些方法中的每一个在调用时打开/关闭SQL连接:

public static void DoSomething(string something)
{
    using (SqlConnection connection = new SqlConnection("..."))
    {
        connection.Open();

        // ...

        connection.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

但我认为避免打开和关闭连接可以节省性能.我以前用OleDbConnection类做了一些测试(不确定SqlConnection),它肯定有助于像这样工作(据我记得):

//pass the connection object into the method
public static void DoSomething(string something, SqlConnection connection)
{
    bool openConn = (connection.State == ConnectionState.Open);
    if (!openConn)
    {
        connection.Open();
    }

    // ....

    if (openConn) 
    {
        connection.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以问题是 - 我应该选择方法(a)还是方法(b)?我读了另一个stackoverflow问题,连接池为我保存了性能,我根本不用费心......

PS.它是一个ASP.NET应用程序 - 仅在Web请求期间存在连接.不是win-app或服务.

c# sqlconnection

103
推荐指数
5
解决办法
8万
查看次数

是否有一个为using语句实现IDisposable的公共对象列表?

我想知道是否有某种小抄对哪些对象与using语句...顺利SQLConnection,MemoryStream等等.

更进一步,甚至可以显示其他"拼图",就像你应该connection.Close()在结束前使用语句括号实际调用一样.

这样的事情存在吗?如果没有,也许我们应该制作一个.

c# asp.net dispose idisposable using-statement

16
推荐指数
3
解决办法
6722
查看次数