5

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

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

例如get_topic有 4 个参数:forum_id, start_num,last_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)

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

尼尔斯

4

1 回答 1

1

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

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

于 2014-04-10T18:33:25.853 回答