WCF传递枚举值错误问题

原创 Laughing  2017-07-26 12:57  阅读 135 次 评论 0 条


今天对外发布一个wcf接口,因为涉及到一些数据状态,是个枚举值,所以本来打算定义一个枚举,然后客户端调用枚举进行传值,这样可以防止不必要的参数传入,但是在测试过程中,枚举传递到服务端的数据始终都是0,也就是第一个数据。

代码定义

当时服务端代码是这么写的

  1. [DataContract]  
  2.    public enum DataState  
  3.    {  
  4.        [EnumMember]  
  5.        Freeze = 0,  
  6.        [EnumMember]  
  7.        Active = 1  
  8.    }  
  9.   
  10.    [DataContract]  
  11.    public class TestClass  
  12.    {  
  13.        [DataMember]  
  14.        public DataState state { getset; }  
  15.    }  

但是客户端调用WCF服务是,不管枚举值传递Freeze还是Active,服务端得到的始终都是Freeze。之前看网上有人说可以把属性里面的[DataMember]去掉,但是我客户端是需要使用这个属性的,所以如果去掉,客户端就获取不到,百度了一番度娘也没找到解决办法,大家有知道的烦请告诉一声。

本文地址:https://www.lisen.me/wcf-enumeration-values-error-problem.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情