监视ASP.NET会话状态variables

我们正在W2K3服务器和IIS 6.0上运行一些ASP.NET应用程序,并正在寻找一种方法来监视存储在内存中的ASP.NET会话状态variables(InProc)。 我们认为可能会有一些内存优化机会,其中一些会话状态variables可能消耗大量的RAM。

有没有办法通过IIS或Windows来实现这一点,而不是通过代码监视会话状态variables来监视所有单独的Web应用程序?

如果您可以复制您认为在开发环境中使用太多内存的会话,那么.Net CLR Profiler及其开发Web服务器是一个很好的方法。 这是一篇博客文章 ,概述了设置探查器的过程,并从中提取InProc会话数据。

如果只能从生产中提取数据,事情会变得更难,但并非不可能。 请参阅.Net Framework生产debugging指南的 第2章 – 它告诉您如何从正在运行的IIS进程中提取内存数据,以便分析。