假设我有使用Python实现的简单XML-RPC服务:
from SimpleXMLRPCServer import SimpleXMLRPCServer
def getTest():
return 'test message'
if __name__ == '__main__' :
server = SimpleThreadedXMLRPCServer(('localhost', 8888))
server.register_fuction(getText)
server.serve_forever()
谁能告诉我如何从C#调用getTest()函数?
最佳答案
不是嘟嘟响我自己的喇叭,而是:http://liboxide.svn.sourceforge.net/viewvc/liboxide/trunk/Oxide.Net/Rpc/
class XmlRpcTest : XmlRpcClient
{
private static Uri remoteHost = new Uri("http://localhost:8888/");
[RpcCall]
public string GetTest()
{
return (string)DoRequest(remoteHost,
CreateRequest("getTest", null));
}
}
static class Program
{
static void Main(string[] args)
{
XmlRpcTest test = new XmlRpcTest();
Console.WriteLine(test.GetTest());
}
}
这应该可以解决问题。请注意,上面的库是LGPL,对您来说可能足够好,也可能不够好。