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

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

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

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

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

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

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

  2. 有人知道善吗

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

推荐答案

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

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

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

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

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

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

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

Asp.net相关问答推荐

在Docker Windows中,ASP.NET核心容器在自定义端口8080上运行,但ASP.NET容器在固定端口80上运行

Reaction-Native SignalR连接在调试模式下工作,在释放模式下失败

如何在编译时为我的 ASP.NET 项目中的每个控制器生成一个单独的 OpenAPI Swagger.json 文件?

Azure 自定义控制器/API .Net 后端

如何从 web.config 中读取系统值并在 ASP.NET MVC C# 方法中使用

从 C# AsyncCTP 使用 ExecuteReaderAsync 的任何缺点

asp.net Button OnClick 事件未触发

从 ASP.NET 中的 POST 方法中检索数据

如何获取 ASP.NET 应用程序的完整虚拟路径

如何配置 ELMAH 以使用 Windows Azure?我在 Elmah.axd 上得到 404

MVC5 身份验证中的......与主域之间的信任关系失败

什么是实体框架中的复杂类型以及何时使用它?

您如何在 .net WebApi2 应用程序中的 OAuth2 令牌请求中使用额外参数

在 JavaScript 中获取当前会话值?

具有自定义报告创建能力的最佳 ASP.NET 报告引擎

ASP.NET 中的嵌套中继器

在 ASP.NET MVC 中模拟 User.Identity

ExecuteReader:连接属性尚未初始化

如何使 URL 重写与 web.Release.config 转换一起工作?

如何使用实体框架执行原始 SQL 查询而无需使用模型?