如何检测ASP.NET应用程序中的SqlServer连接泄漏?
我目前正在对ASP.net 2.0应用程序进行一些GUI测试。
RDBMS是SQL Server 2005.主机是Win Server 2003 / IIS 6.0。 我没有应用程序的源代码,因为它是由不释放代码的外部公司编程。 我注意到,当我重新启动IIS但应用程序运行良好,但在一些测试后,我已经打开和关闭我的浏览器几个小时,应用程序开始变得越来越慢。我想知道这种行为是否是由于一个坏的关闭连接实践从程序员:我怀疑在数据库上的一个开放的连接泄漏。 我猜.Net垃圾收集器最终会关闭它们,但…可能需要一段时间,不是? 我有SQL Server Management Studio,我从活动监视器注意到有很多连接在数据库上打开。 从上面所说的,这里有一些问题与主要问题相关: >有什么办法在SQL知道 解决方法
您可以始终检查来自web.config的连接字符串(主要是如果他们已经激活连接池,如果他们有任何连接限制启用)。
此外,如果使用IIS 6,您可以将Web应用程序设置为使用单独的应用程序池,并设置其他选项以用于回收内存和进程。 关于性能计数器,您可以检查垃圾收集器运行的时间, 如果您可以访问sql server,则可以监视从应用程序创建的连接(为每个已安装的SQL Server实例定义性能计数器)。 在MSDN Magazine有一些文章。也可以使用SOS调试库附加到应用程序的过程,并手动检查。 并且,如果你没有源代码,尝试使用Reflector获取应用程序的源(他们将非常有用的调试) @Later编辑:你可以检查这里question这里stackoverflow.com太 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 错误的请求 – 无效的主机名ASP.NET MVC4
- 用于访问Gravatar图像的ASP.NET MVC帮助器
- asp.net – 如何循环通过WebForms中的数据,就像在MVC中
- 如何从ASP.NET Web API返回已排序的字典
- asp.net 禁用viewstate在web.config里
- asp.net-mvc – Asp.net 5(vnext)是否可以使用?
- ASP.NET是否从bin中将所有程序集加载到AppDomain中?
- asp.net-core – 模型集合上的ModelBinding
- asp.net-mvc-3 – 有没有办法通过html.actionlink在ASP.NET
- asp.net-mvc – Razor – @ Html.Raw()仍在编码&在元标
- ASP.NET MVC 5和Bootstrap 3
- 使用Asp.Net Core时,如何查看为Razor Page生成的
- asp.net-mvc – MVC routes.MapRoute name属性
- asp.net – 脚本标记和“<%...%>”标记之间有什
- 以编程方式获取当前的ASP.NET信任级别
- 企业库无法在asp.net应用程序中查找配置源文件
- asp.net-mvc – 基本MVC:“modelItem =>”做什么
- ASP.NET表单中的Paypal表单
- asp.net-mvc – 在mvc 5和web api 2之间共享owin
- 在ASP.NET MVC 3中将参数从JQuery传递到Controll