【问题标题】:expose enum in WCF to be consumed by Client. WCF/C#/VS-2008在 WCF 中公开枚举以供客户端使用。 WCF/C#/VS-2008
【发布时间】:2009-05-27 19:55:15
【问题描述】:

这是我的起点link text 公开客户端可以使用的枚举;它不是方法签名的一部分。我的代码可以编译,但我无法在 wsdl 中查看它,也无法在我的 C# windows 窗体应用程序测试项目中使用它。链接中的测试代码是否遗漏了什么?

【问题讨论】:

    标签: c# wcf enums


    【解决方案1】:

    在现有数据协定上使用KnownType 属性。

    [KnownType(typeof(YourEnum))]
    [DataContract]
    public class FooContract { }
    

    【讨论】:

      【解决方案2】:

      我关注的链接link text提供了此代码

      [ServiceKnownType("GetKnownTypes", typeof(EnumHelper))]
      

      如果我改成这个

      [ServiceKnownType("GetKnownTypes", typeof(MyEnumName))]
      

      我的消费客户端能够查看枚举类型。这 ?这就是为什么助手静态类不协助公开枚举的原因。我什至遇到过这个link text

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多