C# Xp 兼容性问题集

2017.10.14 

1. 模块加载出错,后发现是其模块中的变量,没有初始化,构造函数中,没有对其变量进行传值,导致出错,但在win7中此值不传也没有影响,因此变量虽然传入,但没有子函数中没有使用。xp对此要求高些。


2. 加模块时,会弹出 index 数据超界问题,但在调用服务器端的函数。后用try{}catch()查,弹出下列异常提示:但在win7里是好的,xp的组深度只有65536,数据量多,会超界。

格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://mspjk.com 进行反序列化时出错: queryResponse。InnerException 消息是“对象图中可以序列化或反序列化的项目数目上限为“65536”。请更改对象图或增加 MaxItemsInObjectGraph 的配额。 ”。有关详细信息,请参阅 InnerException。

在网上找到解法:在客户端的app.config里加下配置:

a .  在system.serviceModel中,加下面定义
    <behaviors>
      <endpointBehaviors>
        <behavior name="LargeQuotaBehavior">
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </endpointBehaviors>
    </behaviors>

b. 在system.serviceModel-》client中的endpoint 中找到相应的模块调用处最后,加behaviorConfiguration="LargeQuotaBehavior"。如下面粗体内容。

      <endpoint address="http://localhost:89/MonitorService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMonitorManageService" contract="MonitorManService.IMonitorManageService" name="BasicHttpBinding_IMonitorManageService" behaviorConfiguration="LargeQuotaBehavior"/>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

diaya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值