没有代理类的.NET Web服务
-
03-07-2019 - |
题
我正在尝试创建一个应用程序,它允许我在任意web服务上执行在运行时指定的方法(我还将在运行时提供其URL)。我已经想出如何使用Type.InvokeMember来执行任意方法,但是如何在不创建代理类的情况下指定要使用的Web服务。
我发现如何在没有网络服务的情况下调用网络服务一个Web引用?如果我已经拥有WSDL并且只有URL会改变,这将帮助我,但我希望能够调用任何web服务并获取结果。
感谢。
解决方案
你应该看看WCF的动态代理(我很抱歉,但我现在似乎可以找到它的链接) - 这是一个允许你在运行时检查服务的库(如果他们发布了他们的元数据) ,并调用方法(不需要元数据)。
编辑:实际上,似乎Codeplex上有一个项目可以做到这一点: SIF
其他提示
对于WCF,您需要拥有代理类或服务实现的接口,因此您不太可能通过WCF执行此操作(但是,WCF是无限可扩展的,因此可能有办法。
你总是可以旋转一个HttpWebRequest对象并创建一个“老派”对象。打电话给服务并自己解析结果。
您应该可以使用 WebRequest拨打电话。您必须自己组建消息的正文,但这并不是很难
不隶属于 StackOverflow