2010-01-28 44 views
0

我想的Web引用在Visual Studio添加到ASP.NET 2.0應用程序2008ASP.NET 2.0 - 添加Web引用不會產生異步代理代碼

然而,生成的代理類不包括BeginXXXX和EndXXXX方法。

我怎樣才能得到這些生成?我需要手動使用wsdl.exe嗎? (順便說一下,在ASP.NET 3.5應用程序中,在「添加服務引用」框中有一個選項,可以指定生成異步方法,但我僅限於ASP.NET 2.0實現)。

回答

0

來自2.0的Web服務通過事件處理程序生成不同的ASync方法。完成一個ASync代理實際上不需要開始/結束方法:http://www.codeguru.com/csharp/csharp/cs_webservices/security/article.php/c9179__1/

但是,這些方法在GUI中自動生成。 Web服務的本質應該通過SoapHttpClientProtocol對象的元數據爲這些方法提供接口。

如果您將服務實例化代碼寫入文件,您應該能夠右鍵單擊變量的類型聲明並選擇「轉到定義」。這將帶您到添加服務時生成的元數據。

1

如果使用Visual Studio的2008 Add Web Reference GUI,它將不會生成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