在ASP.NET Web服务上WSDL中必需参数上的minOccurs =" 0"
时间:2020-03-06 14:56:32 来源:igfitidea点击:
我正在使用Microsoft Visual Web Developer 2005(Express Edition)编写一个简单的Web服务,并且动态生成的WSDL对于所有参数都具有minOccurs =" 0"。
如何在不求助于创建静态WSDL文件的情况下获取必需参数的minOccurs =" 1"?
我需要使用ASP.NET Web服务(.NET v2)来执行此操作。因此,没有WCF。
解决方案
从msdn论坛
"如果要创建新的Web服务,我强烈建议使用Windows Communication Foundation(WCF)而不是ASP.NET Web Services来构建Web服务。
在WCF中,当我们为服务指定数据协定时,可以使用DataMemberAttribute上的IsRequired属性来确定给定的数据成员是必需的。
"
来源
http://social.msdn.microsoft.com/forums/zh-CN/asmxandxml/thread/40ab5748-d32c-42a6-a47f-984ba18a1fe2/
我认为XmlElement(IsNullable = true)
属性将完成这项工作:
using System.Xml.Serialization; [WebMethod] public string MyService([XmlElement(IsNullable = true)] string arg) { return "1"; }