繁体   English   中英

使用WCF进行数据注释

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM