[英]how to send optional parameters to a “webservice” in c#?
我有一個簽名的網絡服務:
[WebMethod(EnableSession = true)]
public Box FetchBox(string boxId, string p1, string p2, string p3 )
我通過jquery ajax調用此Web服務:
$.ajax({
url: "/WS/Ajaxify.asmx/FetchBox",
data: "{ 'boxId': '" + boxId + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8"
});
我只想一次用p1調用FetchBox,以后再用p2而不是p1等等。
在許多情況下,我需要使用p1或p2或p3或...參數中的任何一個調用FetchBox方法。 我不喜歡發送所有參數,因為系統基於插件,而插件不了解其他參數。
c#4中的可選參數不適用於Web服務。
另外params string []參數在這里不合適,因為我需要知道參數名稱。
您無法將可選參數發送到SOAP Web服務。 SOAP協議沒有可選參數的概念。
此外,您根本不應該使用ASMX服務。 這是一項不應用於新開發的傳統技術。 應該使用WCF代替。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.