[英]Data Annotation with WCF
我正在为客户端创建一个WSDl,他们将向其发送请求,我们将做出响应。请求包含电话号码或位置或两者都包含,即至少需要一个.Wat是我可以在此处实施限制的最佳方法。我们可以使用我在MVC中使用的数据注释。我在WCF中尝试过,但是当我通过右键单击->在浏览器中查看WSDL来检查WSDL时,我看不到minoccurs = 1或我们在XSD中看到的范围之类的剩余部分。问题是我需要创建单独的XSD并验证请求还是添加数据注释?有人可以告诉我一些可以遵循的简单步骤吗?
[DataMember]
[Required(ErrorMessage = "Name Required")]
public string Phonenumber
{
get
{
return this.phonenumber;
}
set
{
this.phonenumber = value;
}
}
/// <remarks/>
///
[DataMember]
[DataMember]
[Required(ErrorMessage = "Name Required")]
public string Location
{
get
{
return this.location;
}
set
{
this.location = value;
}
}
在wsdl中,我可以看到
<xs:element name="Phonenumber" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="Location" type="xs:string" nillable="true" minOccurs="0"/>
WCF无法理解[Required]
属性(或数据注释名称空间中的其他属性)。 如果希望数据成员是必需的,则可以在属性中设置IsRequired
属性:
[DataMember(IsRequired = true)]
public string Phonenumber
{
get
{
return this.phonenumber;
}
set
{
this.phonenumber = value;
}
}
/// <remarks/>
///
[DataMember(IsRequired = true)]
public string Location
{
get
{
return this.location;
}
set
{
this.location = value;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.