我正在尝试使用 .Net 4.0 创建一个小型 Windows 窗体应用程序
我的部分程序需要连接到数据库,但是当我执行以下操作时:
SqlConnection conn = new SqlConnection(connectionString);
try
{
conn.Open();
}
....
整个程序只是挂起,直到建立连接。我想做的是能够在后台建立/打开此连接。所以程序仍然会响应按钮点击等。
另外,我如何让这个单一连接在我的程序中全局可用?
提前致谢。
最佳答案
您应该解决为什么需要这么长时间才能建立连接的问题。这听起来更像是您想处理症状,即它挂起您的应用程序。
How do I make this single connection available globally to my program?
这是不好的做法。应尽可能最短 持续打开数据库连接。在您需要使用它之前获取连接,然后在您使用完后立即关闭它。由于您使用的是 C#,因此您可以利用 using
block 为您管理一次性资源:
using (var conn = new SqlConnection(connectionString)) {
try {
conn.Open();
// do things here...
}
catch (Exception) {
}
}
即使您想执行异步打开连接之类的操作,它的目的又是什么?您的用户将拥有响应速度更快的 UI,但在建立连接之前仍然无法在应用程序中执行任何操作。
关于c# - 后台全局 SQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7215083/