哪个是最好的 .Net XML-RPC 库?
Posted
技术标签:
【中文标题】哪个是最好的 .Net XML-RPC 库?【英文标题】:Which is the best .Net XML-RPC library? 【发布时间】:2010-09-11 04:47:06 【问题描述】:我需要从 .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 的一个东西,但是没有单元测试而且代码看起来很糟糕。
除非有人有更好的主意,否则我将不得不自己开始一个开源项目!
【问题讨论】:
【参考方案1】:如果方法名称发生了变化(即方法签名是静态的),XML-RPC.NET 可以为您处理。这是in the FAQ 解决的问题,并指出“但是,有些 XML-RPC API 需要在运行时动态生成方法名称......”来自常见问题解答:
ISumAndDiff proxy = (ISumAndDiff)XmlRpcProxyGen.Create(typeof(ISumAndDiff));
proxy.XmlRpcMethod = "Id1234_SumAndDifference"
proxy.SumAndDifference(3, 4);
这会生成一个实现指定接口的 XmlRpcProxy。设置 XmlRpcMethod 属性会导致 methodCalls 使用新的方法名称。
【讨论】:
【参考方案2】:我前段时间使用了来自www.xml-rpc.net 的库并取得了一些成功,我可以推荐它——它确实感觉设计和功能都很好。
【讨论】:
【参考方案3】:我还尝试在 Windows XP 上运行 www.xml-rpc.net 和 Mono ,它在 Mono .NET Runtime 中也能正常运行。仅供大家参考。
【讨论】:
以上是关于哪个是最好的 .Net XML-RPC 库?的主要内容,如果未能解决你的问题,请参考以下文章
需要 PHP5 的示例 XML-RPC 客户端代码 [关闭]