哪个是最好的 .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 库?的主要内容,如果未能解决你的问题,请参考以下文章

使用哪个 Java XML RPC 库

Apache 的 Java XMLRPC 库

需要 PHP5 的示例 XML-RPC 客户端代码 [关闭]

XML-RPC 的 C++ 库 [关闭]

在 Cocoa 应用程序中使用 XML-RPC 的最佳方式?

教程:简单的 WCF XML-RPC 客户端