【问题标题】:How to Consume Attribute "Description" from webservice如何从 web 服务中使用属性“描述”
【发布时间】:2009-02-12 08:00:04
【问题描述】:

在客户端使用代理生成器生成代码时,客户端不会生成枚举值的属性。我怎样才能在客户端也制作它们?

例如,服务中或网络服务中:

[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,
}

如何从网络服务访问描述属性?

【问题讨论】:

标签: .net wcf


【解决方案1】:

您不能强制这样做 - mex/WDSL 描述符仅包含与类型相关的信息的一小部分。

如果您控制客户端,一种选择是在本地声明枚举(甚至是所有类型),然后从那里消费。您应该能够使用svcutil /reference:&lt;path&gt; 开关来使用现有程序集中的类型(IDE 提供相同的功能)。但请注意,这部分违反了 SOA 的规则(即,您使用的信息超出了服务合同的承诺)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2010-10-27
    • 1970-01-01
    相关资源
    最近更新 更多