【问题标题】:C# , wsdl proxy classes , how to use it?C#,wsdl代理类,怎么用?
【发布时间】:2011-11-02 08:29:05
【问题描述】:

我有一个 wsdl 和 xsd 文件,并使用 wsdl.exe 实用程序生成代理类,但在项目中我没有任何服务引用,如何将它与 c# 一起使用?

【问题讨论】:

    标签: c# service proxy wsdl


    【解决方案1】:

    wsdl.exe 将生成一个包含代理类的.cs 文件。您需要将此文件复制并包含到您的项目中(添加现有文件...)。

    如果你想使用 WCF 客户端,你应该使用svcutil.exe 来生成你的客户端代理,而不是wsdl.exe。 Visual Studio 中的“添加服务引用”对话框在内部使用 svcutil.exe。 “添加 Web 引用”对话框使用 wsdl.exe。

    【讨论】:

    • 是的,我这样做了,然后呢? AuthenticationWSBinding d=new AuthenticationWSBinding(); d.authenticate();但它不起作用,我没有任何服务参考、配置、端点...
    • @ArmenKhachatryan,然后实例化此文件中包含的客户端代理类并调用方法。 wsdl.exe 不使用任何端点和绑定。那是WCF。如果您想使用 WCF 客户端,您需要使用 svcutil.exe 来生成您的客户端代理,而不是 wsdl.exe。我已经更新了我的答案以使这一点更清楚。
    • svcutil.exe 生成端点和绑定?我想要一个服务配置文件!因为那时我需要添加有关证书的信息。
    • 使用Visual Studio我无法添加服务引用和Web服务引用,在这两种情况下都会返回错误,还有其他方法可以制作配置文件吗?使用 wdsl 或 svcutil 吗?
    • @ArmenKhachatryan,svcutil.exe 还会生成一个包含 WCF 服务端点配置的 app.config 文件。
    【解决方案2】:

    如果您想使用 Web 服务,请使用 wsdl.exe 生成代理类,在您的项目中添加该类后,您可以使用该服务及其方法。如果您有要使用的 wcf 服务,则必须使用 svcutil.exe 来生成代理类。您无需创建服务的元数据(wsdl、xsd 等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多