在大型Web应用程序开发过程中,开发者可能会遇到需要在调试时查看和管理会话(Session)内容的情况。为了解决这个问题,构建了一个简单的界面,使用PropertyGrid控件来实现。在会话中,开发者可能会遗留一些旧的对象,这些对象只有在会话结束时才会被清除。通过使用这个工具,开发者可以轻松地查看会话内容,并改进管理会话内容的代码。
Visualizers是Visual Studio 2005中的一项新特性,它允许开发者在调试时使用图形界面检查值。这些组件可以与Visual Studio集成,并在调试特定数据类型时提供额外的性能。
Visual Studio内置了以下类型的Visualizers:
编写Visualizer主要分为三个部分:
为了安装Visualizer,可以使用以下命令:
copy "$(TargetPath)" "$(HOMEDRIVE)$(HOMEPATH)\My Documents\Visual Studio 2005\Visualizers"
这也可以作为附加代码的后构建事件,以便在项目构建完成后自动安装。
安装完成后,为了使用它,需要在监视窗口中添加Session对象,然后点击放大镜图标。
当前的Session Visualizer有一个主要缺点:会话中存储的对象需要是可序列化的,才能从应用程序进程复制到调试器进程。大多数网站使用InProc会话,存储的对象并不总是可序列化的。认为在未来的版本中可以改进这一点。如果有任何改进建议,请与联系。
该代码的第一个版本于2008年2月4日发布。将很快回来进行改进。
以下是实现Visualizer的示例代码:
public class MyVisualizer : IDebugVisualizer
{
public void Show(object obj, IServiceProvider sp)
{
// 实现展示逻辑
}
}