我在WCF中有一個函數,它接受一個參數並從另一個應用程序調用。現在,我想在WCF中添加一個可選參數,這樣它就不會影響前面代碼中調用的方法。在wcf服務中傳遞可選參數
getData(int number, int type=0)
我試圖在第二個參數使用默認值,設置[WebGet(UriTemplate
但沒有成功。如果我使用DataMember
的IsRequired
屬性,那麼它也將更改以前代碼的方法調用。
我不想創建另一個WCF方法。有沒有其他解決方法?
我在WCF中有一個函數,它接受一個參數並從另一個應用程序調用。現在,我想在WCF中添加一個可選參數,這樣它就不會影響前面代碼中調用的方法。在wcf服務中傳遞可選參數
getData(int number, int type=0)
我試圖在第二個參數使用默認值,設置[WebGet(UriTemplate
但沒有成功。如果我使用DataMember
的IsRequired
屬性,那麼它也將更改以前代碼的方法調用。
我不想創建另一個WCF方法。有沒有其他解決方法?
在爲WCF實現接口時,不能使用可選參數。 Can't use optional parameters when implementing an interface for a WCF
使用函數重載
getData(int number)
getData(int number, int type)
你不能在一個WCF服務方法傳遞可選參數,也不能在具有相同名稱的WCF服務重載方法。 如果你想重載方法,你可以使用Name屬性重載方法是這樣的:
[OperationContract (Name = "MethodName")]
我通過設置默認爲空值的URI,以便使這個參數可選,如果用戶提供如解決了這個問題:「類型「價值,我收到了它,但如果用戶沒有提供任何價值,在這種情況下默認值爲null,這樣就解決了我的問題。
希望這回答你的問題。
這將導致重複的方法。我有100多種wcf方法,不想將它們複製爲可選參數 – AshishJindal
http://forums.asp.net/t/1608437.aspx?can+we+use+optional+params+in+C+while+定義+服務+合同+ –