2011-06-14 130 views
1

我有一套WCF Web服务,我需要生成一个基于Windows的测试客户端。有没有人知道一个将作为WSDL使用的工具,并根据WSDL中的内容自动生成一些基本表单。任何关于如何使用字段/标签获得基本表单而不必明确地创建表单的想法。有什么想法吗?从WSDL生成Windows窗体

回答

1

它可以做到。您需要将代理动态编译到程序集中,然后反射出来并使用反射来构建表单。我过去为ASMX WSDL完成了这个任务,还没有尝试过用于WCF WSDL。

您可以使用CSharpCodeProvider类来编译代码,并构建ServiceDescription来加载WSDL,然后使用ServiceDescriptionImporter类生成代码,然后对其进行编译。这可能需要调整WCF服务,但您可以搜索这些项目,并可能找到一些很好的参考。一旦你拥有了代理类,那只是因为使用反射来快速创建表单的练习。

我有一个非常好的WSDL测试工具,用于在Microsoft发布WCF测试客户端之前用于测试。不幸的是它是专有的,所以我无法释放源代码。基本上,我编译了WSDL,将所有的Web方法放入列表框中,当您选择一个Web方法时,它将使用反射检查Web方法的参数,并使用AddControl()在面板内部构建一个表单。

如果您有任何问题,只是给我一个平安,我可以向您发送电子邮件一些代码片段...