WCF服务代理不生成自定义枚举类型

时间:2012-06-21 15:00:50

标签: wcf web-services enums datacontractserializer

我正在引用一个在服务命名空间中公开Enum类型的服务。生成代理时,Enum类型不存在。导致这种情况发生的原因以及如何解决?

注意:将此项添加为网络参考会生成类型,而服务参考则不会。

1 个答案:

答案 0 :(得分:2)

如果您未在ServiceContract内使用Enum,则可能不知道。您可以尝试使用KnownType并将Enum标记为public DataContract,将每个Enum成员标记为EnumMember

您还应该尝试明确地将值分配给Enum类型,如下所示:

[DataContract]
public enum EnumType
{
    [EnumMember]
    Value1= 0,
    [EnumMember]
    Value2 = 1
}

而不是......

[DataContract]
public enum EnumType
{
    [EnumMember]
    Value1,
    [EnumMember]
    Value2
}