我正在尝试使用.Net 4.0创建一个小型Windows窗体应用程序
我的程序的一部分需要连接到数据库,但是当我执行以下操作时:
SqlConnection conn = new SqlConnection(connectionString);
try
{
conn.Open();
}
....
整个程序只是挂起,直到建立连接。我想做的是,我想,能够在后台创建/打开这个连接。所以程序仍然会响应按钮点击等。
另外,如何在程序中全局使用此单一连接?
提前致谢。
答案 0 :(得分:5)
您应该解决为什么连接需要这么长时间的问题。这听起来更像是你想要处理症状,它会挂起你的应用程序。
如何在程序中全局使用此单一连接?
这是不好的做法。应尽可能保持与最短持续时间的数据库连接。在您需要使用它之前获取连接,然后在完成后立即关闭它。由于您使用的是C#,因此可以利用管理可用资源的using
块:
using (var conn = new SqlConnection(connectionString)) {
try {
conn.Open();
// do things here...
}
catch (Exception) {
}
}
即使你想做一些像异步打开连接的事情,它会服务于什么目的?您的用户将具有响应更快的UI,但在建立连接之前仍无法在应用程序中执行任何操作。
答案 1 :(得分:-1)
不建议您执行此操作,因为您应尽快使用db进行操作。