Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未关闭的sql连接_C#_.net_Sql - Fatal编程技术网

C# 未关闭的sql连接

C# 未关闭的sql连接,c#,.net,sql,C#,.net,Sql,假设我有一个连接到sql server的应用程序,该应用程序在应用程序启动时连接到此服务器,在应用程序退出时关闭此连接,我想知道是否有人可以使用此连接连接到sql server单个数据库连接将仅限于拥有它的进程。外部应用程序只能通过应用程序公开的任何API访问此连接 但是,在该应用程序内部,“连接池”意味着不同的SqlConnection实例都可以解析为相同的底层非托管连接,只要它们不重叠。更可能的情况是,重复使用SqlConnection会导致底层连接数减少。单个数据库连接将仅限于拥有它的进程

假设我有一个连接到sql server的应用程序,该应用程序在应用程序启动时连接到此服务器,在应用程序退出时关闭此连接,我想知道是否有人可以使用此连接连接到sql server

单个数据库连接将仅限于拥有它的进程。外部应用程序只能通过应用程序公开的任何API访问此连接


但是,在该应用程序内部,“连接池”意味着不同的
SqlConnection
实例都可以解析为相同的底层非托管连接,只要它们不重叠。更可能的情况是,重复使用
SqlConnection
会导致底层连接数减少。

单个数据库连接将仅限于拥有它的进程。外部应用程序只能通过应用程序公开的任何API访问此连接


但是,在该应用程序内部,“连接池”意味着不同的
SqlConnection
实例都可以解析为相同的底层非托管连接,只要它们不重叠。更可能的是,重复使用
SqlConnection
会导致底层连接数减少。

我不完全理解您的问题,但是,在启动时连接到sql server,在退出时关闭它是一种不好的做法:


假设您只使用常规的.net,它将创建自己的。将其始终打开可能会导致不必要的问题,例如,通过锁定我不完全理解您的问题,但是,在启动时连接到sql server并在退出时关闭它是一种不好的做法:


假设您只使用常规的.net,它将创建自己的。将其始终打开可能会导致不必要的问题,例如通过锁定

您能否详细说明“任何一个”。您是在用代码编程的方式说明是否可以重用连接吗?或者您指的是某人在应用程序外部实际使用您的凭据的行为。只有您自己的代码才能使用连接。更大的图景是什么?当然,从程序上来说,我想知道这个连接是否可以被破解。我不完全确定你为什么要这么做。当然,最好在需要时打开连接,并在运行命令后立即关闭。当你不使用连接时,保持连接打开有什么好处?@Mazen313被什么攻击了?最终,在PC上拥有管理员权限的人可以做各种各样的坏事——例如,附加低级调试工具和更改内存的核心部分。然而,被管理员黑客攻击并不是一个有趣的攻击,因为他们已经比您在用户级别提供的任何系统都强大。这适用于在该机器上运行的任何程序(与.NET无关),请详细说明“任何一个”。您是在用代码编程的方式说明是否可以重用连接吗?或者您指的是某人在应用程序外部实际使用您的凭据的行为。只有您自己的代码才能使用连接。更大的图景是什么?当然,从程序上来说,我想知道这个连接是否可以被破解。我不完全确定你为什么要这么做。当然,最好在需要时打开连接,并在运行命令后立即关闭。当你不使用连接时,保持连接打开有什么好处?@Mazen313被什么攻击了?最终,在PC上拥有管理员权限的人可以做各种各样的坏事——例如,附加低级调试工具和更改内存的核心部分。然而,被管理员黑客攻击并不是一个有趣的攻击,因为他们已经比您在用户级别提供的任何系统都强大。这适用于在该机器上运行的任何程序(与.NET无关)@Mazen313要定义“安全”,您首先需要从何处获得资格?。那么,在这种情况下,“安全”是什么意思?你想防范什么?安全地获取sqlattack@Mazen313叹气什么样的SQL攻击?如果您的应用程序写得不好,那么您可以接受SQL注入,但这与连接生存期无关。如果有人对机器有管理员权限,真的想做一些令人讨厌的事情,那么。。。他们可能有足够的技能——但任何应用程序、任何平台都是如此。@Mazen313要定义“安全”,您首先需要从何处获得资格?。那么,在这种情况下,“安全”是什么意思?你想防范什么?安全地获取sqlattack@Mazen313叹气什么样的SQL攻击?如果您的应用程序写得不好,那么您可以接受SQL注入,但这与连接生存期无关。如果有人对机器有管理员权限,真的想做一些令人讨厌的事情,那么。。。他们可能有足够的技能,但这对任何应用程序、任何平台都是正确的。