【问题标题】:.NET web service without proxy class没有代理类的 .NET Web 服务
【发布时间】:2009-01-06 17:58:45
【问题描述】:

我正在尝试创建一个应用程序,它可以让我在运行时对任意 Web 服务(我还将在运行时提供的 URL)上执行指定的方法。我已经弄清楚如何使用 Type.InvokeMember 来执行任意方法,但是如何在不创建代理类的情况下指定要使用的 Web 服务。

我找到了How do I call a webservice without a web reference?,如果我已经拥有 WSDL 并且只有 URL 会改变,这将帮助我,但我希望能够调用任何 Web 服务并获取结果。

谢谢。

【问题讨论】:

    标签: .net web-services reflection proxy-classes


    【解决方案1】:

    对于 WCF,您需要拥有代理类或服务实现的接口,因此您不太可能通过 WCF 来实现(不过,WCF 可无限扩展,因此可能有办法。

    您总是可以只启动一个 HttpWebRequest 对象并对服务进行“老式”调用并自己解析结果。

    【讨论】:

      【解决方案2】:

      您应该看看 Dynamic Proxy for WCF(抱歉,我现在似乎可以找到指向它的链接) - 它是一个库,可让您在运行时检查服务(如果它们发布其元数据) ,并且还调用方法(不需要元数据来执行此操作)。

      编辑:实际上,Codeplex 上似乎有一个项目可以做到这一点:SIF

      【讨论】:

        【解决方案3】:

        您应该可以使用WebRequest 拨打电话。您必须自己构建message 的主体,但这并不难。

        【讨论】:

          猜你喜欢
          • 2011-11-05
          • 1970-01-01
          • 2010-12-01
          • 2019-09-18
          • 2011-02-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多