WCF+NHibernate 序列化

最近使用WCF+NHibernate 时候 发生序列化问题 困扰了好久  

客户端有的方法会报  “服务终结点未使用HTTP 绑定造成。。。。”  这个错误

发生的原因大体上是因为:数据内容过大或者是WCF返回值无法序列化造成的

数据量过大:在客户端和服务端配置文件 添加上

<dataContractSerializer maxItemsInObjectGraph="65536000" />


无法序列化这点困扰了我好久,大体感觉是因为数据契约的导致的,通过 Trace Viewer 找到了,发生这些错误的都是因为我有级联属性的字段。

使用 knowntype 每一个类标记太麻烦了  写了一个简单类

WCF:

[DataContract(IsReference = true)]
[KnownType("GetKnownType")]
class Entity
{
      private static Type[] GetKnownType()
        {
            //将自定义对象的程序集下的所有类型标记为KnownType。  
            return Assembly.Load("WCF.Entity").GetTypes();
        }  
}

 

NHibernate:
多对一端  lazy = fasle

一对多端  <bag>

实体类:[DataContract(IsReference = true)]

[DataContract(IsReference = true)]

 

转载于:https://www.cnblogs.com/qingducx/p/4049572.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值