SQLCONNECTION最佳实践目前在讨论拥有单一sql连接架构的优缺点。为了详细说明,我们正在谈论在应用程序创建时打开sql连接,并在应用程序关闭或错误时关闭sql连接。并且根本不要创建另一个连接,而只是使用该连接与数据库通信。我们想知道社区的想法。一旦您不再需要它,请关闭连接一段不确定的时间。通过这样做,连接返回到连接池(如果启用了连接池)并且可以被其他人(重新)使用。(连接是昂贵的资源,有时是有限的)。如果您在应用程序的整个生命周期中都保持连接,并且您有多个应用程序用户(因此应用程序的多个实例和多个连接),并且您的数据库服务器被限制为x个并发连接,那么您可能会遇到问题。...另请参阅ado.net的最佳实践遵循这个简单的规则...尽可能晚地打开连接并尽快关闭它。我认为这是一个坏主意,原因有几个。如果你有10,000个用户使用你的应用程序,将有10,000个连接连续打开如果你必须重新启动SqlServer,那么所有这10,000个连接将失效并且你的应用程序将突然-假设你已经包含重新启动连接逻辑-10000接近同步重新连接请求正在进行中。要在第1点进行扩展,您应该尽快关闭连接,否则您将耗尽有限的资源,可能会耗尽无限的时间。如果将SqlServer配置为最多允许10,001个并发连接,则一次只能有10,001个用户运行您的应用程序。如果您按需打开/关闭连接,您的应用程序会进一步扩展,因为所有活动用户同时使用数据库的机会实际上非常低。在幕后,ADO.NET使用连接池来管理与数据库的连接。我建议将它留在连接池中以满足您的连接需求。在应用程序期间保持连接打开是一个坏主意。我使用一个名为RichmondSystems的帮助台系统,该系统在应用程序的整个生命周期内使用一个连接,作为笔记本电脑的用户,这是一个非常痛苦的过程。即使我的笔记本电脑打开,无线接入点之间的跃点也足以减慢数据库连接速度。然后该软件抱怨数据库连接,进入错误状态并且不会关闭。它必须从任务管理器手动杀死。简而言之,不要让数据库连接打开的时间超过必要的时间。但另一方面,我经常对打开和关闭连接持谨慎态度。连接池比没有连接池便宜得多,但即使有连接池,池管理器也可能决定扩大或缩小连接池,将其重新变成一项昂贵的操作。我的一般规则是在用户启动某些操作时打开连接,完成工作,然后在等待下一个用户输入之前关闭连接。对于任何给定的“更新”按钮单击或其他任何操作,我通常只有一个连接。但是你绝对不想在等待用户输入时保持连接打开,如果你能出于其他人提到的所有原因帮助它。您可以等待几天,直到用户按下另一个键或触摸另一个按钮-如果他离开计算机去度假怎么办?将资源占用不可预测的时间就像是坏消息。在大多数情况下,等待用户输入所花费的时间将远远超过实际工作。以上就是C#学习教程:SQLCONNECTION最佳实践分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
