如何使用XML-RPC.NET为方法定义可选参数

时间:2014-02-04 10:06:44

标签: c# xml-rpc xml-rpc.net

我正在使用XML-RPC.NET library在C#中开发XML-RPC服务。该服务将用于向Tapatalk用户公开论坛

Tapatalk API文档说明了应该实现哪些方法。有时将参数指定为可选参数。

E.g。 get_topic有4个参数:forum_idstart_numlast_nummode

Tapatalk应用程序使用所有参数调用该方法,或仅调用前3个(因此省略mode)。

我将方法定义如下:

[XmlRpcMethod("get_topic"]
public GetTopicResult GetTopic(string forum_id, int? start_num, int? last_num, string mode)

当使用指定的所有4个参数调用该方法时,一切顺利。如果省略mode,我会收到以下错误:Request contains too few param elements based on method signature.

将模式指定为可选参数似乎不起作用:

[XmlRpcMethod("get_topic"]
public GetTopicResult GetTopic(string forum_id, int? start_num, int? last_num, string mode = "")

尝试重载该方法会导致此错误:Method GetTopic in type Mobiquo has duplicate XmlRpc method name get_topic

[XmlRpcMethod("get_topic"]
public GetTopicResult GetTopic(string forum_id, int? start_num, int? last_num)

[XmlRpcMethod("get_topic"]
public GetTopicResult GetTopic(string forum_id, int? start_num, int? last_num, string mode)

我知道如何将参数指定为可选参数吗?

尼尔斯

1 个答案:

答案 0 :(得分:1)

这有帮助吗?只是自己进入xml-rpc的世界。

http://xml-rpc.net/faq/xmlrpcnetfaq-3-0-0.html#1.15