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

我发现如何在没有网络服务的情况下调用网络服务一个Web引用?如果我已经拥有WSDL并且只有URL会改变,这将帮助我,但我希望能够调用任何web服务并获取结果。

感谢。

有帮助吗?

解决方案

你应该看看WCF的动态代理(我很抱歉,但我现在似乎可以找到它的链接) - 这是一个允许你在运行时检查服务的库(如果他们发布了他们的元数据) ,并调用方法(不需要元数据)。

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

其他提示

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

你总是可以旋转一个HttpWebRequest对象并创建一个“老派”对象。打电话给服务并自己解析结果。

您应该可以使用 WebRequest拨打电话。您必须自己组建消息的正文,但这并不是很难

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top