[译]一个用于Session debugger 的VisualStudio2005插件。感觉不错。

原文地址:http://www.codeproject.com/KB/aspnet/SessionVizualizer.aspx
下载地址:Download source code - 16.5 KB

简介

本工具的目的是为了让开发人员在Debug时能够较为轻松的分析Session内容和观察Session里存储的一些对象。本工具,有一个简便的接口 ,和一个显示属性的网格,在一个大型web应用程序中,有这么一些情况,开发者遗留了一些陈旧的对象存储在session中,而且这些对象只有在Session结束掉时才会被处理。那么使用我的这个工具,开发人员能很轻松的查看session里的内容,及时发现问题并改善代码去处理他们。

背景

观察器(就是平时我们调试时在变量上右击,添加到监视后弹出的那对话框,可以任意查看内容的那玩意。译者加)是vs2005的一个新特性,它允许开发人员在debug时使用一个图形界面方便的检查某些值,这些组件能集成进Visual Studio并能在Debugging精确的数据类型时,能提供额外的信息展示

内置观察器可用于:

  • XML/HTML/Text
  • DataSet/DataTable/DataView

使用

写一个观察器主要需要如下三大块:

  • 1.实现IDebugVisualizer 接口并且运行于debugger 进程内部.
  • 2.所debugger的类型必须是可序列化的.net类型,才能从"被debug"的进程中复制到debugger的进程。
  • 3.最后实现用于展示debugged对象的友善的用户接口(拗口).

printscr.jpg

安装观察器时,使用下面的语句:

copy "$(TargetPath)" "$(HOMEDRIVE)$(HOMEPATH)\
My Documents\Visual Studio 2005\Visualizers"

这个也可以用在一个工程生成后,把附上的代码写到一个“生成后事件”去,让它自动安装,安装后,为了能使用它,你得添加一个session对象在那个观察窗口中,并且点击那个放大镜图标.
注意:这个session观察器还是一个缺陷:对象存在session里的必须是可序列化的,因为需要把它从应用程序进程复制到debugger进程,大多数web站点都是使用进程的session,且对象未必都是可序列化的,我想我能在下一个版本中改善这个问题,如果你有任何关于改善的好主意,请联系我:

作者

Radu Chirila


Member

Occupation: Web Developer
Location: Romania Romania

posted @ 2009-09-26 17:54  茶杯  阅读(2298)  评论(2编辑  收藏  举报