我目前正在ASP上做一些GUI测试.net 2.0应用程序.

我没有应用程序的源代码,因为它是由一家没有发布代码的外部公司编写的.

我注意到,当我重新启动IIS时,应用程序运行良好,但经过一些测试,在我打开和关闭浏览器几个小时后,应用程序开始变得越来越慢.我想知道这种行为是否是由于程序员错误地关闭连接造成的:我怀疑这里的数据库存在开放连接泄漏.

我猜是的.Net垃圾收集器最终将关闭它们,但...那可能需要一段时间,不是吗?

我有SQLServerManagementStudio,我确实从活动监视器中注意到,数据库上打开了很多连接.

综上所述,以下是一些与主要问题相关的问题:

  1. 在SQL中有什么方法可以知道吗

  2. 有人知道善吗

  3. 如果性能计数器是最好的

推荐答案

您可以随时从web上判断连接字符串.配置(主要是如果他们激活了连接池,如果他们启用了任何连接限制).

此外,如果您使用的是IIS 6,则可以将web应用程序设置为使用单独的应用程序池,并为内存和进程的回收设置其他选项.

关于性能计数器,您可以判断垃圾收集器运行了多长时间, 应用程序正在使用的内存大小等.

如果您有权访问sql server,则可以监视应用程序中的连接(为每个已安装的sql server实例定义了性能计数器).

MSDN Magazine里有一些文章.您还可以使用SOS调试库附加到应用程序的进程并手动判断它.

如果您没有源代码,可以try 使用Reflector来获取应用程序的源代码(它们对于调试非常有用)

@后来的编辑:你也可以在stackoverflow.com这里判断这question

Asp.net相关问答推荐

授权错误错误 400:C# 上的 redirect_uri_mismatch

为什么使用 HttpClient 进行同步连接

SameSite 属性如何自动添加到我的 Asp.net_SessionID cookie 中?

只接受波斯字符的正则表达式

未指定 authenticationScheme,并且未找到具有默认身份验证和自定义授权的 DefaultChallengeScheme

为什么 Razor Pages 是在 Asp.net Core 中创建 Web UI 的推荐方法?

在控制器 asp.net mvc 5 的视图上显示错误消息

如何在 .NET Core 中实现 DbContext 连接字符串?

ASP.NET Web Api - Startup.cs 不存在

Visual Studio 2017 错误:无法启动程序,当前状态下的操作不合法

使用 Asp.net 核心创建另一个 Web api 的代理

在控制器 asp.net-core 中获取当前区域性

ASP.NET添加迁移'复合主键错误'如何使用fluent API

从非异步代码调用异步方法

在 aspnetcore (netcoreapp1.0) 中替代 System.Web.Security.Membership.GeneratePassword

使用 ConfigurationBuilder 设置基本路径

找不到与目标运行时之一兼容的框架 .NETCoreApp=v1 的运行时目标

如何从 Web API 应用程序返回 PDF

安装 ASP.NET 和 Web 工具 2015 后,Visual Studio 错误“对象引用未设置为对象的实例”

ASP.NET 5、EF 7 和 SQLite - SQLite 错误 1:“没有这样的表:博客”