枚举类型引起WCF的错误——“This could be due to the service endpoint binding not using the HTTP protocol”...

本文介绍了一种在调用WCF服务过程中遇到的异常情况及其原因。异常出现的原因是在数据库中存在枚举类型的字段值为0,而在枚举定义中未包含此值。文章详细解释了这一问题并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在博客园招聘频道的开发中,调用一个WCF服务时,遇到这样的错误:

An error occurred while receiving the HTTP response to http://wwww.cnblogs.com/test.svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.

后来发现是因为数据库中一条记录的一个字段值是0,在程序中读取时转换为相应的枚举类型(enum),而该枚举类型没有定义0所对应的枚举值。这种情况下,转换为枚举类型不会引发异常,转换后该属性的值仍为0。但是返回给WCF客户端时,就会引发上面的异常。

解决方法很简单,只要在枚举类型中定义一下0所对应的枚举值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值