zoukankan      html  css  js  c++  java
  • 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)]

  • 相关阅读:
    springboot模板
    springboot入门
    java自定义注解
    git集成idea
    git的搭建和使用
    Shiro授权
    shiro认证
    shiro入门
    springmvc文件上传
    springmvc入门
  • 原文地址:https://www.cnblogs.com/qingducx/p/4049572.html
Copyright © 2011-2022 走看看