使用asp.net编写应用程序时,我做的比vb.net应用程序更多,我始终遵循打开与服务器的连接,获取数据以及尽快关闭连接的规则。这似乎是一种最佳做法。
在客户端/服务器vb.net应用程序上执行此操作同样重要吗?例如,如果您有多个表单,每个表单都带有数据网格或数据形式,您通常会在每个表单启动时打开连接,当用户离开表单时关闭它吗?或者是否可以为连接定义全局变量并使其在应用程序的整个生命周期内保持打开状态?
我个人倾向于打开/关闭每个表单的连接,但想知道其他人推荐使用典型的桌面c / s应用程序?
答案 0 :(得分:2)
仅在需要时使用。如果你不需要它并且马上使用它,不要把东西放在周围。声明变量并尽快使用它们的原则相同,而不是说,在顶部附近有一个庞大的声明列表并在以后使用它们 - 这很容易让人不必要地留下未使用的东西。
此外,如果您在使用SQL连接时坚持使用using语句模式,那么它将为您完成关闭。这比分散它并且可能忘记关闭它更好 - 取决于负载,这可能会占用你的连接并最终导致一些连接被拒绝。我不是说你还没有这样做,但为了以防万一。大多数MSDN示例将显示实现IDisposable的类的使用模式。
有关使用here的更多信息。 SqlConnection example显示了同样的事情。 using语句具有像try / finally块一样的额外好处。
答案 1 :(得分:1)
无论您撰写的应用程序是什么,最好尽可能少地利用资源。这将减少竞争该资源的可能性。
答案 2 :(得分:0)
无论你在.NET中编写什么类型的应用程序(asp.net,服务,WPF,控制台应用程序,Windows窗体,或者只是dll中的库),它们都使用相同的类来访问数据库,统称为ADO.NET。最佳做法是尽快打开,关闭和处理您的连接。
答案 3 :(得分:0)
请记住将数据访问包装在try块中,并使用finally语句关闭连接。
这可确保即使出现问题,您的连接仍会关闭。