在数据库调用之间共享ASP.NET Web App中的SqlConnection对象
是否有一种方法可以在来自至少相同页面、相同请求或整个应用程序的调用之间高效地共享单个SqlConnection实例?如果您使用的是在数据库调用之间共享ASP.NET Web App中的SqlConnection对象,.net,asp.net,sql,ado.net,.net,Asp.net,Sql,Ado.net,是否有一种方法可以在来自至少相同页面、相同请求或整个应用程序的调用之间高效地共享单个SqlConnection实例?如果您使用的是ADO.NET或任何使用ADO.NET的框架,那么它可能已经适合您了 您使用的是什么数据库?-连接池可能因数据库类型而异 您始终可以通过监视数据库服务器连接来验证这一点 例如,在SQL Server上,sp_who2将列出所有连接。查找计算机上的连接,注意spid(每个连接的唯一标识)在web应用程序页面加载之间保持不变。如果您使用的是ADO.NET或任何使用ADO.
ADO.NET
或任何使用ADO.NET
的框架,那么它可能已经适合您了
您使用的是什么数据库?-连接池可能因数据库类型而异
您始终可以通过监视数据库服务器连接来验证这一点
例如,在SQL Server上,sp_who2将列出所有连接。查找计算机上的连接,注意spid(每个连接的唯一标识)在web应用程序页面加载之间保持不变。如果您使用的是
ADO.NET
或任何使用ADO.NET
的框架,那么它可能已经适合您了
您使用的是什么数据库?-连接池可能因数据库类型而异
您始终可以通过监视数据库服务器连接来验证这一点
例如,在SQL Server上,sp_who2将列出所有连接。查找计算机上的连接,注意spid(每个连接的唯一标识)在web应用程序页面加载之间保持不变。这是一个非常糟糕的主意
SqlConnection
实现了IDisposable
,这意味着您必须尽快处理它以释放资源
如前所述,发动机罩下的连接池已经优化了连接的创建。我知道,如果你开始保持联系,最终可能会出现严重问题。这真是个坏主意
SqlConnection
实现了IDisposable
,这意味着您必须尽快处理它以释放资源
如前所述,发动机罩下的连接池已经优化了连接的创建。如果你开始保持连接,你可能会遇到严重的问题,我明白了。如果你想知道如何做到这一点,答案是在页面中声明一个SqlConnection类型的静态变量,并在所有页面方法中使用它访问数据库;然而,这是一个糟糕的想法,原因有很多:
如果您想知道如何做到这一点,答案是在页面内声明一个SqlConnection类型的静态变量,并在所有页面方法内使用它访问数据库;然而,这是一个糟糕的想法,原因有很多:
为何为什么不使用连接池呢?我只是想,当我关闭()某个东西时,.NET真的会关闭它,哈哈,但是正如Neil精辟地说明的那样,我的假设完全不正确。为什么?为什么不使用连接池呢?我只是想当我关闭()某个东西时,.NET真的会关闭它,哈哈,但正如尼尔精辟地说明的那样,我的假设是完全错误的。投票失败的原因是什么?我曾在许多内存泄漏的项目中工作过,这是罪魁祸首。投票失败的原因是什么?我在很多内存泄漏的项目中工作过,这是罪魁祸首。