【问题标题】:Entering values for a Byte array in WCF Test client在 WCF 测试客户端中输入字节数组的值
【发布时间】:2013-05-13 21:00:53
【问题描述】:

我正在尝试使用 WCF 测试客户端来调试 Web 方法,并且该方法需要 2 字节数组作为其输入的一部分。

目前,我一直在使用调试器并在使用传递的值之前放置断点,并使用 Visual Studio 监视窗口设置它们。

有没有一种简单的方法可以使用 WCF 测试客户端为字节数组的每个字节设置值?

我知道您可以通过键入“length=100”或类似的内容来指定数组的长度,但这只会设置数组的大小。然后,您必须单击下拉菜单并逐个输入每个字节的值。

有人在使用 WCF 测试客户端时有输入数组值的经验吗?

【问题讨论】:

  • 我没有解决方案,但是当我想这样做时,我会使用 LinqPad。

标签: c# visual-studio-2010 wcf wcftestclient


【解决方案1】:

我所做的是创建一个接受数组和新值的静态方法(我有时传递一个逗号分隔的字符串并将其拆分,有时我传递一个“参数”参数等)。

这样,您可以在调试器监视或即时窗口上调用该方法。例如,您可以在需要预设值的任何时候调用“SetArrayOne()”,也可以调用“SetArray(...)”并传递所需的参数:

byte[] myClassLevelArray1 = new byte[10];
byte[] myClassLevelArray2 = new byte[10];

public void SetArrayOne()
{
    SetArray(myClassLevelArray1, 1, 2, 3, 4, 5);
}

public void SetArrayTwo()
{
    SetArray(myClassLevelArray2, 1, 2, 3, 4, 5, 8, 9, 10, 11, 15, 20, 5, 98, 5, 4);
}

public static void SetArray(byte[] myArray, params byte[] newValues)
{
    Array.Copy(newValues, myArray, Math.Min(newValues.Length, myArray.Length));
}

【讨论】:

    【解决方案2】:

    我最终创建了一个不接收参数的新方法,它只是调用了我想测试的方法,在那里设置了数组值。

    【讨论】:

      猜你喜欢
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      相关资源
      最近更新 更多