后台的全局SQL连接

Gre*_*ith 1 .net c# winforms

我正在尝试使用.Net 4.0创建一个小型Windows窗体应用程序

我的程序的一部分需要连接到数据库但是当我执行以下操作时:

SqlConnection conn = new SqlConnection(connectionString);

try
{
    conn.Open();
} 

....
Run Code Online (Sandbox Code Playgroud)

整个程序只是挂起,直到建立连接.我想做的是,我想,能够在后台制作/打开这个连接.所以程序仍然会响应按钮点击等.

另外,如何在程序中全局使用此单一连接?

提前致谢.

Yuc*_*uck 5

您应该解决为什么连接需要这么长时间的问题.这听起来更像是你想要治疗它挂起你的应用程序的症状.

如何在程序中全局使用此单一连接?

这是不好的做法.应尽可能以最短的时间保持与数据库的连接.在您需要使用它之前获取连接,然后在完成后立即关闭它.由于您使用的是C#,您可以利用using为您管理可支配资源的块:

using (var conn = new SqlConnection(connectionString)) {
    try {
        conn.Open();
        // do things here...
    }
    catch (Exception) {
    }
}
Run Code Online (Sandbox Code Playgroud)

即使您想要做一些事情,例如异步打开连接,它的用途是什么?您的用户将具有响应更快的UI,但在建立连接之前仍无法在应用程序中执行任何操作.