【问题标题】:Add SOAP/WSDL Web Service reference at runtime在运行时添加 SOAP/WSDL Web 服务引用
【发布时间】:2013-09-02 22:37:00
【问题描述】:

有没有人在运行时成功地将 Soap Web 服务添加到 C# 应用程序中?

这是必需的,因为 C# 应用程序将部署到连接到 VPN 的主机上。 Soap Web 服务是 VPN 中的另一台主机。 (我们无法在部署主机上安装 Visual Studio)。因此,我们不能在我们的开发机器中添加引用。我们正在针对虚假服务进行开发。

【问题讨论】:

  • 只需要从配置文件中获取URL即可。
  • 假设服务是一样的,但可能不一样。
  • 所以你要通过反射来调用它?
  • 一旦我们弄清楚它公开了哪些方法以及它们返回了什么,我们将正常对其进行编码,但在此之前,我们将使用反射。

标签: c# web-services soap wsdl vpn


【解决方案1】:

您可以从 Web 服务 url 生成代理类。

阅读以下文章。

http://msdn.microsoft.com/en-us/library/aa529578.aspx

这样您就不需要添加对 Web 服务的引用。

在运行时添加引用是什么意思。您可以添加对本地开发 PC 的引用,然后将代码部署到主机 PC。当您的项目部署到第三方服务器时,无需再次添加引用。

【讨论】:

  • 我无法从 VPN 外部访问参考(我们的开发机器在 VPN 外部)。 Web 服务位于 VPN 内部。
  • 你能把 SVCUTIL.exe 带到部署主机和 VPN 上吗?它是可以生成您可以使用的代理类的实用程序。
  • @Anand 也许。感谢您的信息。
猜你喜欢
  • 1970-01-01
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-26
相关资源
最近更新 更多