C#:在QuickWatch窗口中枚举SessionState键

时间:2012-06-04 22:27:40

标签: c# debugging session

在Visual Studio 2010中进行调试时,有没有办法在QuickWatch窗口中查看HttpSessionState的键?

必须有一个更好的方法然后退出调试会话,在Session.Contents.Keys对象上编码循环,断点然后逐步执行循环 - 只是为了查看定义了哪些键。

我怀疑我是以完全错误的方式解决这个问题。提示或建议将不胜感激。

1 个答案:

答案 0 :(得分:2)

HttpSessionStateIEnumerable,因此只要在您正在调试的过程中加载System.Core DLL,您就可以在QuickWatch窗口中评估System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Cast<object>(myHttpSessionState))。如果当前代码文件具有using System.Linq语句,则可以编写较短的表达式:myHttpSessionState.Cast<object>().ToArray()

如果您经常需要查看HttpSessionState对象,可能需要尝试BugAid,并在HttpSessionState类上将上面的表达式定义为Custom Expression,这样您就不会被强制使用每次都输入长表达式。

完全披露:我是BugAid的共同创建者。

相关问题