我需要从 .NET 2.0 客户端与 XML-RPC 服务器通信。你能推荐任何图书馆吗?
编辑:尝试过 XML-RPC.Net,我喜欢它生成动态代理的方式,它非常简洁。不幸的是,与往常一样,事情并非如此简单。我正在访问一个 XML-RPC 服务,该服务使用在方法名称中包含对象名称的非正统技术,如下所示:
object1.object2.someMethod(string1)
这意味着我不能使用属性来设置我的方法的名称,因为它们直到运行时才知道。如果您开始尝试更接近原始调用,XML-RPC.Net 开始变得非常困惑。
所以,任何人都知道一个简单直接的 XML-RPC 库,它会让我做(伪代码):
x = new xmlrpc(host, port)
x.makeCall("methodName", "arg1");
我在 Codeproject 上看过 Michael 的一个东西,但是没有单元测试,代码看起来很糟糕。
除非有人有更好的主意,否则我将不得不自己开始一个开源项目!
最佳答案
如果方法名称发生了变化(即方法签名是静态的)XML-RPC.NET 可以为您处理。已解决 in the FAQ ,注意到“但是,有一些 XML-RPC API 需要在运行时动态生成方法名称......”来自常见问题解答:
ISumAndDiff proxy = (ISumAndDiff)XmlRpcProxyGen.Create(typeof(ISumAndDiff));
proxy.XmlRpcMethod = "Id1234_SumAndDifference"
proxy.SumAndDifference(3, 4);
这会生成一个实现指定接口(interface)的 XmlRpcProxy。设置 XmlRpcMethod 属性会导致 methodCalls 使用新的方法名称。
关于.net - 哪个是最好的 .Net XML-RPC 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/101180/