代码之家  ›  专栏  ›  技术社区  ›  Matt Howells

哪一个是最好的。Net XML-RPC库?

  •  9
  • Matt Howells  · 技术社区  · 17 年前

    我需要从与XML-RPC服务器通信。NET 2.0客户端。你能推荐一些图书馆吗?

    编辑:尝试过XML-RPC。Net,我喜欢它生成动态代理的方式,它非常整洁。不幸的是,和往常一样,事情并没有那么简单。我正在访问一个XML-RPC服务,该服务使用了一种非正统的技术,即在方法名称中包含对象名称,如下所示:

    object1.object2.someMethod(string1)
    

    这意味着我不能使用这些属性来设置我的方法的名称,因为它们在运行时之前是未知的。如果你开始尝试更接近原始调用,XML-RPC。网络开始变得相当混乱。

    所以,任何人都知道一个简单明了的XML-RPC库,它只会让我做(伪代码):

    x = new xmlrpc(host, port)
    x.makeCall("methodName", "arg1");
    

    我在Codeproject上看了Michael的一件事,但没有单元测试,代码看起来很糟糕。

    除非有人有更好的想法,否则我必须自己开始一个开源项目!

    3 回复  |  直到 17 年前
        1
  •  4
  •   Troy J. Farrell    17 年前

    如果方法名称是所有正在更改的内容(即方法签名是静态的),则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
  •  3
  •   Matthias Kestenholz    17 年前

    我用过图书馆 www.xml-rpc.net 不久前,它取得了一些成功,可以推荐它——它的设计和功能都很好。

        3
  •  1
  •   Shailesh Kumar    16 年前

    我也试着跑 www.xml-rpc.net 具有 Mono 在Windows XP上,它在Mono中工作。NET运行时也是正确的。仅供大家参考。

    推荐文章