WCF入门(一)--Request Entity Too large 传输的数据量过大

      通过WCF进行数据的查询或者添加的时候,如果数据量过大,一般会报出如下的错误:

     1、已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的MaxReceivedMessageSize 属性。

     2、远程服务器返回了意外反应(413)Request Entity too large。

     3、远程服务器返回了意外反应(400)Bad Request。

     具体的解决方案:

     服务端返回数据给客户端报错

     在客户端的配置文件中,主要修改maxReceivedMessageSize   

<system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_Default" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>

     2、客户端传数据给服务端报错

    修改服务端web.config

<system.serviceModel>
    <bindings>
      <basicHttpBinding>                                                                                                       <!--其实要修改所有的服务,不管是服务端还是客户端,Binding那边增加一个没有设置名字的默认配置就OK了-->
        <binding   closeTimeout="00:10:00" receiveTimeout="00:20:00" sendTimeout="00:20:00"
       maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
        </binding >
        </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
          <serviceDebug includeExceptionDetailInFaults="True" />
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" minFreeMemoryPercentageToActivateService="1" />
  </system.serviceModel>

     

时间: 2025-01-30 13:01:21

WCF入门(一)--Request Entity Too large 传输的数据量过大的相关文章

http-HTTP状态码之413 – 请务实体太大 (Request entity too large)

问题描述 HTTP状态码之413 – 请务实体太大 (Request entity too large) 我用Ajaxfileupload插件上传视频文件,是记录所有要上传的文件,然后每次调用Ajaxfileupload方法,每次调用只上传一个文件上传完一个再上传下一个,每个文件大概60M左右,也许会更大我的url如果写域名就会出现413错误,要是改为ip和端口号就没问题服务器是用jetty搭建的,请大神指导! 解决方案 难道就没有人会吗?为啥要10个字.

nginx:413 Request Entity Too Large的处理办法--修改 PHP上传文件大小_nginx

开发环境:CentOS + Nginx + PHP + MySql + phpMyAdmin 在用 phpMyAdmin 进行 sql 数据库导入的时候,经常需要上传比较大的 sql 数据文件,而这时会常碰见 nginx报错:413 Request Entity Too Large. 解决此问题,根据上传数据文件的大小,你需要调节两个地方的参数配置: 1.php 默认上传文件大小限制为 2M,如果超出 2M 你需要修改 php 配置文件 php.ini 里面的参数 post_max_size =

Nginx HTTP:413 Request Entity Too Large解决方法_nginx

概述 今天遇到一个问题,在PHP程序中上传图片出现了以下错误:HTTP:413 Request Entity Too Large. 开发环境:CentOS + Nginx + PHP + MySql 解决方案 解决此问题,根据上传数据文件的大小,需要调节PHP和Nginx相关的参数配置. 配置PHP PHP默认上传文件大小限制为2M,如果超出2M你需要修改PHP配置文件php.ini里面的参数. 复制代码 代码如下: post_max_size = 8M (表单提交的最大限制,此项不是限制上传单

nginx 上传文件错误 413 Request Entity Too Large

于是就用Http抓包工具(HttpDetect)看了下,如下图 返回的状态是413 Request Entity Too Large(nginx/1.2.1),再百度发现,这是nginx设置了允许上传的包的问题,这也就合乎上面的情况,后台没有任何异常信息,因为请求根本就没到达我们的tomcat,nginx发现请求的包大于设置的值,接直接返回413了. 解决的办法是,设置nginx的包大小限制为适当的值,如下图

Nginx“413 Request Entity Too Large”错误的解决方法

今天使用phpmyadmin上传sql还原数据库功能的时候,总是提示413 Request Entity Too Large错误. 换小文件发现没有问题,所以问题肯定出现在文件大小上.google了一下,发现是Nginx的错误提示. 解决方法: 一.调整php上传大小 1.编辑php.ini 添加或修改如下选项: post_max_size = 20M upload_max_filesize = 20M 重启php使之生效. 二.调整nginx上传大小 打开nginx主配置文件nginx.con

Nginx环境提示“413 Request Entity Too Large”错误

今天使用Wordpress的flash版文件上传功能的时候,总是提示接口错误,很是郁闷.换小文件发现没有问题,所以问题肯定出现在文件大小上,找了半天没有发现wordpress有限制上传文件大小的地方. 切换到传统文件上传界面,重新上传一个大文件,这回出来错误提示了,413 Request Entity Too Large,google了一下,发现是Nginx的错误提示. 解决方法:打开nginx主配置文件nginx.conf,找到http{}段,添加  代码如下 复制代码 client_max_

三个思路解决laravel上传文件报错:413 Request Entity Too Large问题

最近一个项目当中,要求上传图片,并且限制图片大小,虽然在laravel当中已经添加了相关的表单验证来阻止文件过大的上传,然而当提交表单时,还没轮到laravel处理,nginx就先报错了.当你仔细看报错页面时,你会发现有nginx版本信息,经过分析,这报错是因为nginx的默认上传文件大小配置client_max_body_size只有2MB, 基于nginx验证比laravel验证要早,想要友好报错而不是直接显示413 Request Entity Too Large,那么就有三个思路去解决.

nginx、Apache、IIS服务器解决 413 Request Entity Too Large问题方法汇总_nginx

一.nginx服务器 nginx出现这个问题的原因是请求实体太长了.一般出现种情况是Post请求时Body内容Post的数据太大了,如上传大文件过大.POST数据比较多. 处理方法 在nginx.conf增加 client_max_body_size的相关设置, 这个值默认是1m,可以增加到8m以增加提高文件大小限制:当然可以设置的更大点. 复制代码 代码如下: # 在http,server或者location段修改下面的配置:# set client body size to 8M #clie

nginx错误:413 Request Entity Too Large解决办法

http状态码413表示服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围.服务器能够处理的大小受PHP和nginx的config配置,一下基于ubuntu系统修改. 修改nginx配置文件 #修改nginx配置 sudo vim /etc/nginx/nginx.conf   #在http{-}块内添加 client_max_body_size 100M;   #重启nginx sudo service nginx reload 修改php配置文件 #编辑,