![监视 ASP.NET 会话状态变量](https://linux22.com/image/512314/%E7%9B%91%E8%A7%86%20ASP.NET%20%E4%BC%9A%E8%AF%9D%E7%8A%B6%E6%80%81%E5%8F%98%E9%87%8F.png)
我们在 W2K3 Server 和 IIS 6.0 上运行了许多 ASP.NET 应用程序,正在寻找一种能够监视存储在内存中的 ASP.NET 会话状态变量 (InProc) 的方法。我们认为可能存在一些内存优化机会,因为其中一些会话状态变量可能会消耗大量 RAM。
有没有办法通过 IIS 或 Windows 来实现这一点,而不是用代码来监视所有单独的 Web 应用程序的会话状态变量?
答案1
如果您可以重现您认为在开发环境中使用过多内存的会话,那么 .Net CLR Profiler 及其开发 Web 服务器是解决此问题的好方法。这是一篇博客文章概述了设置分析器并从中提取 InProc 会话数据的过程。
如果你只能从生产中提取数据,事情会变得更加困难,但并非不可能。参见第2章的.Net Framework 生产调试指南- 它告诉您如何从正在运行的 IIS 进程中提取您应该能够分析的内存数据。