我正在引用一个在服务命名空间中公开Enum
类型的服务。生成代理时,Enum
类型不存在。导致这种情况发生的原因以及如何解决?
注意:将此项添加为网络参考会生成类型,而服务参考则不会。
答案 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
}