如何使ASP .net Webservice函数参数非强制性

时间:2017-06-27 05:13:47

标签: asp.net web-services

我在网络服务中有这个功能。

[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public void getbalance(string login, string password)
    {
        try
        {
            //some code
        }
        catch (Exception ex)
        {
            //show error message
        }
    }

现在我想为此添加一个新参数即date。但由于此webservice用于Android应用程序,添加新参数会使此功能变得多余。我知道显而易见的解决方案是创建另一个函数但是我可以通过另一种方式添加新参数,如果调用此函数的查询字符串没有日期参数,而不是给出错误的工作原理。

1 个答案:

答案 0 :(得分:1)

可以使用Nullable可选参数:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void getbalance(string login, string password, DateTime? date = null)
{
    try
    {
        //some code

        if(date.HasValue)
        {
            // Do something with date. You can get the date using date.Value
        }
    }

    catch (Exception ex)
    {
        //show error message
    }
}

如果您传入日期,则日期将具有值。否则,日期将为空。

虽然,IMO,你应该考虑一个不同的设计:)