有没有办法改变asp.net在.asmx文件生成的WSDL中生成元素的方式?具体来说,它似乎标记所有元素minoccurs ="0"并且有一些元素我想要minoccurs ="1"(又名必填字段).
其中一个是Web服务的参数(例如foo(arg1,arg2),其中我希望在WSDL中生成arg2为minoccurs ="1")另一个是类中与arg1对应的特定字段.我是否必须放弃自动生成WSDL并采取"合同优先"的方法?
我认为该XmlElement(IsNullable = true)
属性将完成这项工作:
using System.Xml.Serialization; [WebMethod] public string MyService([XmlElement(IsNullable = true)] string arg) { return "1"; }
编辑[VB版]
Imports System.Xml.Serialization Public Function MyService(ByVal arg As String) As String Return ("1") End Function