C# 如何将可变数量的参数传递给web服务
我们正在尝试创建一个web服务,我们计划向它传递可变数量的变量 这能做到吗 基本上,我们不希望传递所有可能的参数,而是希望只传递设置的值,并使用web服务中设置的默认值 下面是一个我们希望发送的XML示例,根据需要的返回,我们将发送未知数量的函数C# 如何将可变数量的参数传递给web服务,c#,web-services,soap,C#,Web Services,Soap,我们正在尝试创建一个web服务,我们计划向它传递可变数量的变量 这能做到吗 基本上,我们不希望传递所有可能的参数,而是希望只传递设置的值,并使用web服务中设置的默认值 下面是一个我们希望发送的XML示例,根据需要的返回,我们将发送未知数量的函数 <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WebMethod xmlns="http://tempuri.org/">
<domains>
<function1>
<title>Some Title</title>
<type>25</type>
</function1>
<function2 />
<function3>
<param>13</param>
</function3>
</domains>
</WebMethod>
</soap:Body>
</soap:Envelope>
一些头衔
25
13
这会起作用还是我们应该用另一种方式来做?您可以简单地将可变长度数组作为参数传递。如果您不喜欢数组的概念(这不是slating Konrad的答案-您可能有不同的参数类型),您可以传递复杂对象(即您自己创建的对象)。。缺点是您无法使用ASMX页面进行测试,但需要在代码中完成所有测试(这其实不是一件坏事,特别是如果您已经习惯了的话)。我将传入一个xml文档,而不是为此执行concreate函数 您示例中的Web服务存在漏洞-消费者需要对该接口和Web服务的内部实现了解太多 XML文档,然后将其与XSD绑定。这样,您就可以预先验证Web服务的输入 看看这些 我还建议将其用于测试Web服务及其免费版本
我同意littlegeek的观点。不要让你的web服务成为硬方法。将其作为接收消息的接收端点。特别是命令消息