在Visual Studio 2010中进行调试时,有没有办法在QuickWatch窗口中查看HttpSessionState的键?
必须有一个更好的方法然后退出调试会话,在Session.Contents.Keys对象上编码循环,断点然后逐步执行循环 - 只是为了查看定义了哪些键。
我怀疑我是以完全错误的方式解决这个问题。提示或建议将不胜感激。
答案 0 :(得分:2)
HttpSessionState
是IEnumerable
,因此只要在您正在调试的过程中加载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的共同创建者。