今天对外发布一个wcf接口,因为涉及到一些数据状态,是个枚举值,所以本来打算定义一个枚举,然后客户端调用枚举进行传值,这样可以防止不必要的参数传入,但是在测试过程中,枚举传递到服务端的数据始终都是0,也就是第一个数据。
代码定义
当时服务端代码是这么写的
[DataContract]
public enum DataState
{
[EnumMember]
Freeze = 0,
[EnumMember]
Active = 1
}
[DataContract]
public class TestClass
{
[DataMember]
public DataState state { get; set; }
}
但是客户端调用WCF服务是,不管枚举值传递Freeze还是Active,服务端得到的始终都是Freeze。之前看网上有人说可以把属性里面的[DataMember]去掉,但是我客户端是需要使用这个属性的,所以如果去掉,客户端就获取不到,百度了一番度娘也没找到解决办法,大家有知道的烦请告诉一声。
thank you,谢谢
文章大有看点,支持!