WCF 服务器未提供有意义的回复;这可能是由协定不匹配、会话过早关闭或内部服务器错误引起的

ffsquare 2016-10-05 08:58:59
调用WCF服务接口提示这个异常。该接口是返回一个大的集合,里面定义了很多List。
经过调试发现只有一个List如果赋值的话就会报这个异常,其他List正常。

问题List集合如下

[DataContract]
[KnownType(typeof(EntiyBase))]
public class Entrance : EntiyBase
{
/// <summary>
/// 是否为收费出入口
/// </summary>
[DataMember(Name = "isToll")]
public virtual bool Toll { get; set; }
/// <summary>
/// 出入口类型
/// </summary>
[DataMember(Name = "type")]
public virtual EntranceType Type { get; set; }
/// <summary>
/// 临停车辆是否可出入
/// </summary>
[DataMember(Name = "enableTemp")]
public virtual bool EnableTemp { get; set; }
/// <summary>
/// 备注
/// </summary>
[DataMember(Name = "description")]
public virtual string Remark { get; set; }
}


查了别人发的问题,加上了KnowType,但还是报异常,另外发现如果取消EntranceType的[DataMember]属性调用接口就正常了。

望各位大神帮忙。
...全文
485 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffsquare 2016-10-05
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
在设计之前,你知道 EntranceType 具体是什么吗?你是否测试过它实例值能序列化?
问题已经找到,EntranceType是一个枚举类型,但是值是从1开始的,如果是从0开始就不会报错。

    public enum EntranceType
    {
        /// <summary>
        /// 未知类型
        /// </summary>
        Unknow = 0,
        /// <summary>
        /// 进
        /// </summary>
        In = 1,
        /// <summary>
        /// 出
        /// </summary>
        Out = 2,
        /// <summary>
        /// 地下进
        /// </summary>
        UndergroundIn = 3,
        /// <summary>
        /// 地下出
        /// </summary>
        UndergroundOut = 4,
        /// <summary>
        /// 主出入口 可进可出
        /// </summary>
        Main = 5,
        /// <summary>
        /// 过道
        /// </summary>
        Aisle = 6,
    }
  • 打赏
  • 举报
回复
在设计之前,你知道 EntranceType 具体是什么吗?你是否测试过它实例值能序列化?
WCF传输List时序列化问题 今天使用WCF传输用户集合时出现了一个诡异的错误:System.ServiceModel.CommunicationException: 服务器提供意义回复;这可能是由协定不匹配会话过早关闭内部服务器错误引起的。  百思不得其解,在数次尝试后,发现应该不会是协定不匹配或者会话关闭,于是尝试将传输的List&lt;User&gt;变小,当List&lt;User&gt;变的很小时变不再出现...

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧