WCF 大数据传输问题
来源:互联网 发布:mysql 5.7.17.msi下载 编辑:程序博客网 时间:2024/05/22 02:12
当客户端传输的参数中有字节流或者是长度过大的时候,wcf就会报错。出现maxReceivedMessageSize异常解
当使用WCF的客户端调取的数据过多时,会出现这个异常。一般情况下,系统默认值是65536,大约容纳100-200条左右的数据。
那么就需要我们手动改参数WebConfig配置文件 ,以下就是我防止传输参数过大做的配置。下面一一讲解
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="LargeDataTransferServicesBinding" maxReceivedMessageSize="2147483647" transferMode="Buffered" sendTimeout="00:10:00">
<readerQuotas maxStringContentLength="2097152" />
</>
</basicHttpBinding>
</bindings>
<services>
<service name="Web.Server.WeatherService">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="LargeDataTransferServicesBinding" contract="Web.Server.IWeatherService"/>
</service>
</services>
........
.......
</system.serviceModel>
我们的服务类型是BasicHttpBinding,使用 BasicHttpBinding 的服务能够在网络上接收的消息的大小受到为每个消息分配的内存量的限制。 对消息大小进行的此限制旨在降低遭受拒绝服务 (DoS) 攻击的可能性。
在 BasicHttpBinding下的binding标签有以下属性
name: 可以随便起名,就是一个表示endpoint 的 bindingConfiguration的引用。
maxReceivedMessageSize:微软官网接解释获取或设置配置了此绑定配置的通道上可以接收的消息的最大大小(以字节为单位) 默认值为 65,536 个字节。
很好理解数据参数的最大限制,我的配置是2g。 默认值为 65,536 个字节。
transferMode:传输模式 ,我设置的Buffered 模式是缓冲传输,stream模式是字节流传输,这个要看你的传输数据是否有流。
MaxBufferSize :此属性我们没做限制,因为在不同的模式下他设置的大小必须要有要求,不然也会报错。
对于缓冲传输,(TransferMode 设置为 Buffered)。 该值始终等于由 MaxReceivedMessageSize 指定的值。
对于流传输(TransferMode 设置为 Streamed),必须对 SOAP 标头进行缓冲才能生成消息。 可根据需要对正文进行流处理。 在此情况下,MaxBufferSize 小于或等于 MaxReceivedMessageSize,其中 MaxReceivedMessageSize 限制整个消息(标头和正文)的大小,而 MaxBufferSize 限制 SOAP 标头的大小。
- WCF 大数据传输问题
- WCF - 大数据传输
- WCF大数据传输
- WCF大数据传输
- WCF大数据传输
- wcf list 大数据传输 传输对象过多
- 大数据传输下的WCF配置
- WCF 处理大数据问题
- WCF全双工数据传输
- flex wcf 数据传输
- 大数据传输
- WCF 项目应用连载[7] - 绑定、服务、行为 大数据传输与限流 - 上
- WCF 项目应用连载[8] - 绑定、服务、行为 大数据传输与限流 - 下 (ServiceThrottlingAttribute)
- WCF传输数据量大的问题
- [WCF 学习笔记] 8. 数据传输
- 数据传输问题
- WIndows NT服务和普通进程之间大数据传输问题
- webservice大数据传输
- 【剑指offer-Java版】09斐波那契数列
- YT 督促训练 fzoj 2012Solve equation 各种进制转换为10进制
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 如何减少Z-STACK Coordinator内存开销
- php 排序字典
- WCF 大数据传输问题
- Maven项目中找不到property文件
- 1.5.初步体验结构体
- 有趣的JavaScript原生数组函数
- 小白学习---JS
- 将Excel中数据导入DataGridView中并实现筛选功能
- GitLab安装并设置为开机启动
- Unity 粒子海洋效果实现
- 邻接表非递归深搜(有向图)