我需要从.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上看过迈克尔某个人的事情,但是没有单元测试,代码看起来很糟糕。
除非有人有更好的想法,否则我将不得不自己开始一个开源项目!
答案 0 :(得分:4)
如果方法名称正在改变(即方法签名是静态的),XML-RPC.NET可以为您处理。这是in the FAQ解决的,注意到“但是,有一些XML-RPC API需要在运行时动态生成方法名称......”来自FAQ:
ISumAndDiff proxy = (ISumAndDiff)XmlRpcProxyGen.Create(typeof(ISumAndDiff));
proxy.XmlRpcMethod = "Id1234_SumAndDifference"
proxy.SumAndDifference(3, 4);
这将生成一个XmlRpcProxy,用于实现指定的接口。设置XmlRpcMethod属性会导致methodCalls使用新方法名称。
答案 1 :(得分:3)
前段时间我使用了www.xml-rpc.net中的库并取得了一些成功并且可以推荐它 - 它确实感觉设计良好且功能齐全。
答案 2 :(得分:1)
我还尝试在Windows XP上使用www.xml-rpc.net 运行Mono ,它也适用于Mono .NET Runtime。只是为了每个人的信息。