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

Nie*_* R. 5 c# xml-rpc xml-rpc.net

我正在使用XML-RPC.NET 库在 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)
    
Run Code Online (Sandbox Code Playgroud)

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

将 mode 指定为可选参数似乎并不能解决问题:

[XmlRpcMethod("get_topic"]
public GetTopicResult GetTopic(string forum_id, int? start_num, int? last_num, string mode = "")
Run Code Online (Sandbox Code Playgroud)

尝试重载该方法会导致此错误: 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)
Run Code Online (Sandbox Code Playgroud)

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

尼尔斯

sco*_*ker 1

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

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