2017-06-27 67 views
2

我在web服務中有這個功能。如何使ASP .net Webservice功能參數非強制

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

現在我想添加一個新的參數,即日期到這個。但是由於這個webservice被用於一個android應用程序,因此添加一個新參數會使該功能變得冗餘。我知道顯而易見的解決方案是創建另一個函數,但是有另外一種方法可以通過它添加一個新參數,並且如果通過此函數調用的查詢字符串不具有date參數,而不是提供錯誤,它將起作用。

回答

1

可空可選參數是要走的路:

[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 
    } 
} 

如果您傳遞一個日期,然後日期將有一個值。否則,日期將爲空。

雖然,國際海事組織,你應該考慮不同的設計:)