如何将可选参数发送到“;web服务”;在c#中
本文关键字:服务 web 参数 | 更新日期: 2023-09-27 18:25:45
我有一个带有签名的web服务:
[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。