0

我正在尝试在 Visual Studio 2008 中添加对 ASP.NET 2.0 应用程序的 Web 引用。

但是,生成的代理类不包括 BeginXXXX 和 EndXXXX 方法。

我怎样才能生成这些?我需要手动使用 wsdl.exe 吗?

(顺便说一句,在 ASP.NET 3.5 应用程序中,“添加服务引用”框中有一个选项,可让我指定应生成 Async 方法。但是,我仅限于 ASP.NET 2.0 实现)。

4

2 回答 2

1

如果您使用 Visual Studio 的 2008 Add Web ReferenceGUI,它将不会生成BeginXXXEndXXX方法。您可能需要直接调用wsdl.exe(来自 Visual Studio 2008 命令提示符):

wsdl.exe http://www.example.com/someservice.asmx?wsdl

并包含生成的.cs文件,其中包含代理类以及项目的相应方法BeginXXXEndXXX方法。

注意:wsdl.exe可能位于C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin

于 2010-02-06T15:57:11.103 回答
0

从 2.0 开始的 Web 服务通过事件处理程序生成不同的异步方法。Begin/End 方法实际上不需要完成异步代理: http: //www.codeguru.com/csharp/csharp/cs_webservices/security/article.php/c9179__1/

但是,这些方法会在 GUI 中自动生成。Web 服务的本质应该是通过 SoapHttpClientProtocol 对象的元数据提供与这些方法的接口。

如果您在文件中编写服务实例化代码,您应该能够右键单击变量的类型声明并选择“转到定义”。这将带您进入添加服务时生成的元数据。

于 2010-02-01T17:37:45.907 回答