Visual Studio如何创建Web服务客户端

时间:2013-02-07 14:45:31

标签: visual-studio-2010 wsdl

我们都知道Visual Studio提供了一个WebReference,它实际上生成了一个代理类,该代理类定义了表示公开的Web服务XML的实际方法的方法。

但是谁知道它是怎么做到的?后面使用了哪个库?

2 个答案:

答案 0 :(得分:0)

svcutil.exe的

可以通过Visual Studio命令提示符轻松访问它。请参阅此MSDN link以了解利用情况。

就我个人而言,我已经使用它为企业服务设置了一些测试工具。

答案 1 :(得分:0)

我使用JetBrains DotPeek找到了这些信息。

我将SvcUtil.exe加载到DotPeek然后环顾四周。

在回答它使用的API时,它可以做多种选择,但我查看了ExportServiceContracts选项,它似乎使用了

  1. 从装配中拉出类型的反射。
  2. 然后它使用System.ServiceModel.Description数据类型获取ServiceContract信息。
  3. 然后它使用System.ServiceModel.Description名称空间MetadataExporter将其导出到它在WebReference文件夹中创建的各种文件。
  4. 希望这能为您提供一个如何识别正在发生的事情的起点。当我试图理解框架和各种其他工具时,我发现DotPeek非常有价值。当然,还有许多其他可用的反汇编工具。