как использовать XMLRPC в C #

Мне нужно сделать вызовы XMLRPC из моего приложения C #, и мне не удалось найти никакой помощи с этим. Когда я использовал XMLRPC от Ruby, все очень просто:

server = XMLRPC::Client.new2("http://server/api.php")
result = server.call("remote.procedure", [1, [['crit1', 'crit2', 'crit3']]])

есть ли подобная библиотека для C #?


person Community    schedule 28.08.2009    source источник


Ответы (2)


Использовать библиотеку xml-rpc.net очень просто, вот что вам нужно сделать:

[XmlRpcUrl("http://url_to_your_server/api.php")]
public interface ISumAndDiff : IXmlRpcProxy
{
    [XmlRpcMethod("your.remote.procedure")]
    string testMyClient(string test);
}

ISumAndDiff proxy = XmlRpcProxyGen.Create<ISumAndDiff>();

string ret = proxy.testMyClient("test");
person Community    schedule 28.08.2009
comment
У меня есть только одна придирка к xml-rpc.net: он не поддерживает необязательные параметры. - person Tom Lint; 18.07.2018

Посмотрите, подходит ли вам эта библиотека
https://code.google.com/p/xmlrpcnet/

person Joel Martinez    schedule 28.08.2009
comment
Проблема с этой библиотекой в ​​том, что она довольно устарела и несовместима с приложениями Windows Store или Phone, а также не поддерживает асинхронность. На данный момент я не знаю никаких альтернатив. - person Ani; 23.12.2012
comment
Эта библиотека с открытым исходным кодом и легко доступна (code.google.com/p/xmlrpcnet / source / checkout). Я уверен, что вы могли бы его форкнуть и перенести на эти новые и новейшие платформы :) - person Joel Martinez; 24.12.2012