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