0

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

但是有人知道它是怎么做到的吗?后面使用哪个库?

4

2 回答 2

0

SvcUtil.exe

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

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

于 2013-02-07T14:50:39.253 回答
0

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

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

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

  1. 从程序集中提取类型的反射。
  2. 然后它使用System.ServiceModel.Description数据类型获取 ServiceContract 信息。
  3. 然后它使用System.ServiceModel.Description名称空间MetadataExporter将其导出到它在 WebReference 文件夹中创建的各种文件。

希望这为您提供了如何识别正在发生的事情的起点。当我试图了解框架和其他各种工具时,我发现 DotPeek 非常宝贵。当然,还有许多其他可用的反汇编工具可以使用。

于 2013-11-30T16:44:42.110 回答