如何序列化为c#代码?

时间:2010-10-18 12:33:19

标签: c# web-services unit-testing serialization maintenance

我正在测试一个将对象作为参数获取的Web服务。 要创建这个对象,我会经历一个我们正在维护的在线商店,最终结果是一个相当大的对象,我们可以将其称为BO,发送到网络服务。

现在,当BO处于特定状态时,我们似乎遇到了一个错误。 我乏味地通过在线商店来创建我正在检查的BO状态,然后在调试中观察网络服务如何处理它。

这可能会发生几次,每次都需要时间和精力。 我仍然可以在调试模式下观察BO的正确状态。我可以将它序列化为XML,这很方便。我梦想能够将它序列化为c#代码。我还没有在网上找到它。我发现序列化为XML,并序列化为JSON。

我的问题是: 您知道我如何将其序列化为c#代码,因此我可以轻松地针对此特定业务案例制作测试用例吗?

您对如何解决这些问题有其他建议吗?

来自Sixto Saez的

有用的回答

  

保存服务调用请求状态的最简单方法是拦截并存储发送到服务的soap消息,因为它存储了完整的对象状态。您可以使用像Fiddler这样的工具来访问soap消息并将其保存到文件中。接下来,您将编写一个简单的应用程序,它将使用.NET HttpWebRequest对象将存储的soap提交给服务。

1 个答案:

答案 0 :(得分:0)

您要解决的问题是检索对象的存储状态,以便您可以使用该状态重复调用服务以进行调试。听起来你也想在拨打服务电话之前改变状态。

此方案的一个选项是使用名为WcfTestClient的Visual Studio工具。这个link记录了如何使用客户端。运行它并填充“BO”状态后,您可以重复编辑并将更新的参数重新提交到服务方法。不幸的是,每次运行WcfTestClient应用程序时都必须手动填充参数,因为无法保存参数值。希望这有帮助!