繁体   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