2

我正在使用 Microsoft Visual Web Developer 2005 (Express Edition) 编写一个简单的 Web 服务,动态生成的 WSDL 的所有参数都有一个 minOccurs="0"。

如何在不诉诸于创建静态 WSDL 文件的情况下获得所需参数的 minOccurs="1"?

我需要使用 ASP.NET Web 服务(.NET v2) 来执行此操作。所以,没有WCF。

4

2 回答 2

3

我认为该XmlElement(IsNullable = true)属性将完成这项工作:

using System.Xml.Serialization;

[WebMethod]
public string MyService([XmlElement(IsNullable = true)] string arg)
{
  return "1";
}
于 2008-10-09T21:39:19.030 回答
1

来自 msdn 论坛“如果您正在创建新的 Web 服务,我强烈建议您使用 Windows Communication Foundation (WCF) 而不是使用 ASP.NET Web 服务来构建 Web 服务。在 WCF 中,当您为您的服务指定数据协定时您可以使用 DataMemberAttribute 上的 IsRequired 属性指定给定数据成员是必需的。"

来源 - http://social.msdn.microsoft.com/forums/en-US/asmxandxml/thread/40ab5748-d32c-42a6-a47f-984ba18a1fe2/

于 2008-09-30T19:45:34.667 回答