WCF_客户端测试报错

wcf报错信息
wcftestclient.exe 调用wcf报错

以上是调用时的报错信息。调试时,代码逻辑没有问题,可以正常返回结果,但是再下一步就报错,开始一直百思不得其解,明明返回了正确的结果,为什么还是报错,没想到是从是在对结果的序列化处理的过程中,发生错误。

这是在错误处理其中设置断点,发现拦截的错误为:

Enum value '0' is invalid for type 'Entity.Enum.LitSourceType' and cannot be serialized. Ensure that the necessary enum values are present and are marked with EnumMemberAttribute attribute if the type has DataContractAttribute attribute.

枚举值0是不合法的,不能被序列化。再定位该枚举发现这个枚举定义的是从1开始的,而返回的结果中该枚举值的值是0,也就是没有=赋值,使用的默认的返回结果。从而导致在序列化的过程中报错。另外直接看抛出的异常是无法查到根本所在,还是需要对wcf服务做异常的处理

在整个调用过程中忽视了wcf自动为我们处理的部分,从而导致问题查了很久。以后需要多关注原理以及源码的学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值