如何:使用 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 可能不会生成以下步骤中介绍的所有代码。具体生成哪些代码部分取决于关联的服务。 |
从生成的代理中移除不受支持的代码
使用 Web 服务描述语言工具 (Wsdl.exe) 生成代理。
移除定义名为 RetBaseTypesOperationCompleted、类型为 SendOrPostCallback 的委托的代码。
移除定义和引用 RetBaseTypesCompleted 事件、RetBaseTypesCompletedEventHandler 委托和 RetBaseTypesCompletedEventArgs 类的代码。
移除定义和调用 RetBaseTypesAsync 方法的代码。
移除定义和调用 OnRetBaseTypesOperationCompleted 方法的代码。
移除定义和调用 CancelAsync 方法的代码。
移除 Serializable 属性。