簡體   English   中英

如何從網絡服務使用屬性“描述”

[英]How to Consume Attribute "Description" from webservice

在客戶端使用代理生成器生成代碼時,不會在客戶端生成枚舉值的屬性。 我怎樣才能在客戶端制作它們?

例如,在服務或網絡服務中:

[DataContract]
punlic enum Periods
{
    [Description("2 months")]
    [EnumMember]
    TwoMonths,
}

(or)

[DataContract]
punlic enum Periods
{
    [XMLEnum(Value = "2 months")]
    [EnumMember]
    TwoMonths,
}

但在客戶端(消費者 - 消費網絡服務),它只生成:

   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.1433")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://namespace" +
        "")]
    public enum Periods{

        /// <remarks/>
        TwoMonths,
}

如何從 Web 服務訪問描述屬性?

您不能強制這樣做 - mex/WDSL 描述符僅包含與類型關聯的信息的一小部分。

如果您控制客戶端,一種選擇是在本地聲明枚舉(甚至所有類型),然后從那里使用。 您應該能夠使用svcutil /reference:<path>開關來使用來自現有程序集的類型(IDE 提供相同的功能)。 但請注意,這部分違反了 SOA 的規則(即您使用的信息比服務合同承諾的要多)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM