码迷,mamicode.com
首页 > Web开发 > 详细

.NET4.5中WCF中默认生成的basicHttpsBinding的研究

时间:2016-03-09 23:59:27      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:

起因:

    使用.net4.5建立了一个空白的WCF服务。默认使用的绑定配置是basicHttpsBinding。

问题发现:

  1、用客户端进行服务引用,生成了默认的配置文件,其中绑定配置是basicHttpBinding。

  2、因为需要单次传递大批量数据,所以修改绑定配置,如下: 

   <basicHttpBinding>
        <binding name="BasicHttpBinding_IService" closeTimeout="00:10:00" receiveTimeout="00:10:00"
                sendTimeout="00:10:00"  maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" >
          <readerQuotas maxDepth="2000000" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
        </binding>
      </basicHttpBinding>

  3、运行测试,总是提示“413 Request Entity Too Large”。网上查找资料,基本都是说修改默认的Size,默认为4M, 修改到足够大就可以了。但是我明明已经在服务端和客户端都改了啊???

问题解决:

  研究了很久才解决,直接说结果吧。

  在.net 4.5的框架下,默认生成的绑定配置是basicHttpsBinding,是Https,多了一个S。

  然而我在服务端修改的是HTTPS里的绑定配置,没写HTTP的绑定配置,而在客户端,则是用的HTTP。 所以最终使用的是默认的HTTP配置,大小是4M,数据量一大,自然报错。

  说到这里,解决方法就很明显了。

结尾:

  HTTP方式效率还是低,明天使用TCP试试。

  

 

.NET4.5中WCF中默认生成的basicHttpsBinding的研究

标签:

原文地址:http://www.cnblogs.com/SzeCheng/p/5260007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!