簡體   English   中英

如何將可選參數發送到c#中的“webservice”?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM