3

我有一个基本的消息传递应用程序,它接受来自客户端的请求并返回它们的响应对象。当我遇到格式错误的请求对象时,我将其序列化到数据库日志中,以查找二进制字段中的失败请求。我希望能够反序列化这些格式错误的请求对象并在事后检查它们。

有没有办法在我自己的应用程序中使用 Visual Studio Watch 窗口(或类似的东西)?我知道属性网格,这就是我现在正在使用的,但是使用监视窗口来检查对象会很酷,因为大多数开发人员都熟悉监视窗口。

4

3 回答 3

2

使用 Visual Studio 本身怎么样?您已经知道如何序列化(所以我假设反序列化)对象。为什么不编写一个应用程序来反序列化它,然后将 VS 调试器连接到该应用程序?

于 2010-02-09T19:10:37.903 回答
1

与属性网格相比,您更喜欢 Watch Window 中的什么?它是评估自定义表达式的能力,还是只是它的 UI?

如果是前者,那么,

我不知道任何开箱即用的东西可以让你这样做,最接近的东西(不附加调试器)是Crack.NET(见这张图片),理论上你可以将该脚本窗口合并到你自己的项目(毕竟它是开源的),但是你必须用 Python 而不是 C# 编写表达式。

至于更自己动手的方法,您可以使用 CodeDom 将您的表达式编译成如下所示的方法:

object Evaluate(RequestObject request)
{
     return   ... your expression goes here ... ;
}

然后加载你自动编译的DLL来动态调用这个方法,如果你愿意,可以在属性网格中显示它的返回值。

于 2010-08-12T11:31:02.100 回答
1

我会使用PropertyGrid控件。它可用于一次检查单个对象。

于 2010-02-10T02:10:36.007 回答