14

假设当我只有 wsdl 文件时,我该如何创建代理类来调用 webservice 各种方法。与所有类及其属性和方法相关的 web 服务将如何在我的 c# 应用程序中公开。任何人都可以帮助指导我。谢谢

4

4 回答 4

8

您需要使用ServiceModel Metadata Utility Tool或 Visual Studio 的添加服务引用对话框,以便为您要与之通信的服务生成客户端代理。生成的代理将提供抽象服务契约的类,您可以对客户端应用程序进行编程以与这些类进行交互。

于 2012-08-03T18:41:35.357 回答
8

有一个实用程序,它与 Visual Studio 一起提供(我认为是从 2005 年开始),称为wsdl.exe

它是命令行,可用于生成代理。

于 2012-08-03T18:42:23.330 回答
3

您可以通过命令行使用 WSDL.exe 工具。

IEWseWsdl3 WSDLPath /out:MyProxyClass.cs

于 2012-08-03T18:50:30.873 回答
1

如果 WseWsdl3.exe 无法创建代理类,还是有办法的。

如果您可以在 IIS 中将您的服务作为常规 ASP.NET Web 应用程序运行,它会创建临时 ASP.NET 文件,其中代理类会为您很好地生成。

您可以在文件夹中找到它:

C:\Windows\Microsoft.NET\Framework\vMAJOR.MINOR.BUILD\Temporary ASP.NET Files\YOUR_WEB_APP。

有一些随机名称的子文件夹,转到最近的一个,看起来像“App_WebReferences.XXXX.0.cs”。

于 2013-02-06T03:57:32.857 回答