ProtocolException : 已超过传入消息(65536)的最大消息大小配额。

2023-05-16

SilverLight调用WCF,提交的是一个List<Linq2SqlEntity>;当List中数据量不大的时候,不会报错;当数据量稍微大一点儿,就会出现这个错误。发生了 System.ServiceModel.ProtocolException
  Message=已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
  Source=System.ServiceModel
  StackTrace:
  在 System.ServiceModel.Channels.HttpInput.ThrowHttpProtocolException(String message, HttpStatusCode statusCode, String statusDescription)

 

    费了牛劲在网上搜了一通,有的说是要修改behavior的maxItemsInObjectGraph,有的说要修改binding的maxBufferSize/maxReceivedMessageSize,有的说要增加readerQuotas,有的是endpoint没有与自定义binding配置节关联起来,有的说要客户端和服务器端都要改(我的应用中,接受数据的是服务器端,客户端负责提交,所以应该不关客户端的事儿)。。。然后把server端的配置文件调整成下面这样:


   1: <system.serviceModel>  

   2:   <behaviors>  

   3:     <serviceBehaviors>  

   4:       <behavior name="MessageHeaderOperationBehaviourAuthenticationBehavior">  

   5:         <dataContractSerializer />  

   6:         <serviceMetadata httpGetEnabled="true"/>  

   7:         <serviceDebug includeExceptionDetailInFaults="true"/>  

   8:       </behavior>  

   9:     </serviceBehaviors>  

  10:   </behaviors>  

  11:   <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>  

  12:   <services>  

  13:     <service behaviorConfiguration="MessageHeaderOperationBehaviourAuthenticationBehavior"  

  14:              name="MessageHeaderOperationBehaviourAuthentication">  

  15:       <endpoint address="" binding="basicHttpBinding" ="" contract="DyeService">  

  16:       </endpoint>  

  17:     </service>  

  18:   </services>  

  19:   <bindings>  

  20:     <basicHttpBinding>  

  21:       <binding name=""  maxBufferSize="2147483647"  

  22:                maxBufferPoolSize="21474836471"   

  23:         < maxDepth="2147483647" maxStringContentLength="2147483647"  

  24:                       maxArrayLength="2147483647" maxBytesPerRead="2147483647"  

  25:                       maxNameTableCharCount="2147483647" />  

  26:         <security mode="None" />  

  27:       </binding>  

  28:     </basicHttpBinding>  

  29:   </bindings>  

  30: </system.serviceModel>  

       但是问题依旧。最后在stackoverflow找到了正解:WCF Error - unexpected response: (400) Bad Request.,里面链接到了另一篇帖子:Cannot get the MaxReceivedMessageSize higher than (65536)

 

      解决办法就是:配置文件中,service 的name属性必须与服务的类型全名称保持一致,才能应用上自定义的配置节。

      按着这个方法,调整之后的配置文件如下所示(删掉了其他无关的maxItemsInObjectGraph、readerQuotas等):


   1:    

   2:   <system.serviceModel>  

   3:     <behaviors>  

   4:       <serviceBehaviors>  

   5:         <behavior name="MessageHeaderOperationBehaviourAuthenticationBehavior">  

   6:           <serviceMetadata httpGetEnabled="true"/>  

   7:           <serviceDebug includeExceptionDetailInFaults="true"/>  

   8:         </behavior>  

   9:       </serviceBehaviors>  

  10:     </behaviors>  

  11:     <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>  

  12:     <services>  

  13:       <service behaviorConfiguration="MessageHeaderOperationBehaviourAuthenticationBehavior"  

  14:                  

  15:         <endpoint address="" binding="basicHttpBinding"  >  

  16:         </endpoint>  

  17:       </service>  

  18:     </services>  

  19:     <bindings>  

  20:       <basicHttpBinding>  

  21:         <binding   maxBufferSize="2147483647"  

  22:                  maxBufferPoolSize="21474836471" maxReceivedMessageSize="2147483647">  

  23:         </binding>  

  24:       </basicHttpBinding>  

  25:     </bindings>  

  26:   </system.serviceModel>  

 

标签: WCF, ProtocalException, 65535, SilverLight

转载于:https://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ProtocolException : 已超过传入消息(65536)的最大消息大小配额。 的相关文章

随机推荐

  • 相机与IMU联合标定

    相机与IMU联合标定 1 imu utils 标定IMU的内参1 1 安装环境1 2 录制IMU数据集 2 kalibr 标定工具2 1 安装2 2 校准相机的内外参2 3 校准相机与IMU外参 总结参考资料 1 imu utils标定IM
  • matlab练习程序(寻找凸包,Graham扫描法)

    我不太清楚这个凸包在图像处理中到底会怎样的运用 xff0c 因为这个好像更多的是计算几何或是图形学里面的东西 不过作为一个算法 xff0c 我感觉还是有必要研究一下的 我主要的参考资料是 算法导论 的33 3和这个博客 代码在这里 xff0
  • 1

    stage 1 xff1a 尝试直接使用Adobe acrobat xff0c foxit阅读器 xff0c 以及CAJ等PDF阅读器 xff0c 尝试使用CAJ是因为CAJ有文字识别功能 xff0c 但是对于加密的文档 xff0c 依然是
  • Python自动化备份系统及网站

    随着目前IT迅猛的发展 xff0c 自动化运维对于Linux运维人员也越来越重要 xff0c 传统的运维方式靠大量的人力 xff0c 现在也逐渐转向自动化运维 xff0c 我们常见的跟自动化有关的软件有哪些呢 今天我们来简单列举一下 xff
  • AI 黑箱难题怎么破?基于神经网络模型的算法使机器学习透明化

    编者按 xff1a 人们可以训练人工智能 xff08 AI xff09 和机器人完成任务 xff0c 但整个过程在黑箱中运作 我们并不知道 AI 和机器人是如何决策的 一家名为 OptimizingMind 的初创公司想要解决这个问题 这篇
  • 技术面试介绍

    内容 xff1a 1 技术面试的形式 2 技术面试的大致环节 3 技术面试应具备的素质 4 技术面试的经验建议 参考 xff1a 剑指offer 第二版 第一章 Java程序员面试笔试宝典 第一章 第二章 1 技术面试的形式 技术面试大致上
  • 今天是 Java 诞生日,Java 24 岁了!

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 今天是 Java 诞生日 xff0c Java 今年 24 岁了 xff0c 比栈长还年轻 还有得搞 xff0c 别慌 xff01 作为一名Java语言的学习者 xff0c
  • [原创]求两个经纬度之间的距离

    经常要根据两个经纬度值 求它们之间的距离 delphi实现代码 xff1a 求两个经纬度之间的距离 function Distince const lon1 lat1 lon2 lat2 double double var alpha1 a
  • cmake的命令execute_process

    execute process COMMAND lt cmd1 gt args1 COMMAND lt cmd2 gt args2 WORKING DIRECTORY lt directory gt TIMEOUT lt seconds g
  • php 输出数组内容_php数组怎么输出

    PHP数组的输出方式有两种 xff1a print r 函数和var dump 函数 1 print r 利用 print r 函数可以打印输出整个数组内容及结构 xff0c 按照一定格式显示键和元素 注意 print r 函数不仅是只用于
  • VNC常用操作及常见问题解决办法汇总

    VNC登录用户缺省是root xff0c 但在安装oracle时必须用oracle用户的身份登录 xff0c 下面我们就以oracle为例说明如何配置VNC xff0c 从而可以使用不同的用户登录到主机 步骤描述如下 xff1a 步骤一 x
  • Xsens 在ROS环境下读取数据

    Xsens 在ROS环境下读取数据 1 Xsens 参数配置2 Xsens ROS环境下读取数据2 1 安装ROS二进制包2 2 Xsens修改rule文件2 3 启动节点 参考资料 1 Xsens 参数配置 软件可以在官网上进行下载 1
  • 交换机***查询篇

    如何确定 类型 当设备遭受 时 xff0c 通常伴随着如下现象 xff1a 用户无法获取ARP 用户上线成功率较低 用户无法访问网络 l严重时可能导致设备上所有用户都无法正常访问网络 当大量用户或固定某个端口下的所有用户出现上述现象时 xf
  • tomcat部署war包访问显示404

    在eclipse导出的maven项目war包 xff0c 放到tomcat下启动 xff0c 顺利启动且无报错 xff0c 但是浏览器访问该项目时显示404 原因 xff1a 未在server xml中配置这几个项目 xff0c 导致服务器
  • Pycharm: 代码跳转如何回退 (小技巧)

    背景 玩Python已经有段时间了 一般都是通过vim和Pycharm来开发 真心觉得这两个是神器 Vim神器暂且不说 今天来分享Pycharm的一个小技巧 用Pycharm的童鞋都知道 它有个跳转的功能 可以让我们在想深入了解某个函数 库
  • 最近沉迷美女图片无法自拔,所以我决定用PHP扒海量妹子图

    为什么80 的码农都做不了架构师 xff1f gt gt gt 学习PHP 43 MySQL制作WEB应用有一阵子了 xff0c 没有上过学所以只能学习到CURD的地步 最近对国产美女图片 私房写真特别感兴趣 xff0c 什么周妍希 刘飞儿
  • elementui的loading啊。。。踩坑了。。。

    为什么80 的码农都做不了架构师 xff1f gt gt gt 总结如下 xff1a 1 elementui的loading其实是fullscreen才是全局唯一 xff0c 不然会Loading service一次创建一次实例 2 ele
  • a padding to disable MSIE and Chrome friendly error page 填充禁用MSIE铬友好的错误页面

    一个网页在用户登录后 xff0c 应该自动刷新后 xff0c 显示登录用户信息 xff0c 但是没有自动刷新反而报错 xff0c 手动刷新后显示正常 显示如下 xff1a 检查代码 xff1a 可能原因 xff1a 文件读写权限 权限和用户
  • 边缘检测:Canny算子,Sobel算子,Laplace算子

    1 canny算子 Canny边缘检测算子是John F Canny于 1986 年开发出来的一个多级边缘检测 算法 更为重要的是 Canny 创立了边缘检测计算理论 xff08 Computational theory ofedge de
  • ProtocolException : 已超过传入消息(65536)的最大消息大小配额。

    SilverLight调用WCF xff0c 提交的是一个List lt Linq2SqlEntity gt xff1b 当List中数据量不大的时候 xff0c 不会报错 xff1b 当数据量稍微大一点儿 xff0c 就会出现这个错误 发