如何:使用 Wsdl.exe 生成的代理

更新:2007 年 11 月

.NET Compact Framework 不支持 Web 服务描述语言工具 (Wsdl.exe) 生成的所有代码。但是,如果您在 Visual Studio 中向智能设备项目添加 Web 引用,使用 Web 服务的应用程序便可以使用生成的代理。

在某些情况下,可能需要使用 Wsdl.exe。一种情况是当您需要提供代理中粒子成员的顺序以符合 Web 服务所要求的顺序时。Wsdl.exe 工具带有 /order 选项,该选项可在粒子成员上生成显式的顺序标识符。

说明:

若要避免从代理中手动移除已生成代码的步骤,可以先在 Visual Studio 中向智能设备项目中添加一个 Web 引用,然后在另一个目录中运行 Wsdl.exeWsdl.exe。最后,将保留元素显式排序的代码从 Wsdl.exe 生成的代理中复制到通过添加 Web 引用而生成的代理中。

下面的过程演示要从生成的代理中移除哪些代码才能令其可供 .NET Compact Framework 使用。要移除的代码以它们在生成的代理中出现的顺序列出。

说明:

Wsdl.exe 可能不会生成以下步骤中介绍的所有代码。具体生成哪些代码部分取决于关联的服务。

从生成的代理中移除不受支持的代码

  1. 使用 Web 服务描述语言工具 (Wsdl.exe) 生成代理。

  2. 移除定义名为 RetBaseTypesOperationCompleted、类型为 SendOrPostCallback 的委托的代码。

  3. 移除定义和引用 RetBaseTypesCompleted 事件、RetBaseTypesCompletedEventHandler 委托和 RetBaseTypesCompletedEventArgs 类的代码。

  4. 移除定义和调用 RetBaseTypesAsync 方法的代码。

  5. 移除定义和调用 OnRetBaseTypesOperationCompleted 方法的代码。

  6. 移除定义和调用 CancelAsync 方法的代码。

  7. 移除 Serializable 属性。

请参见

概念

.NET Compact Framework 中的网络编程

.NET Compact Framework 帮助主题