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


    起因:

        使用.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试试。

      

  • 相关阅读:
    WordPress修改后台登录地址
    android开发之浅谈viewpager
    android开发之viewpager and Fragment
    android开发之 广播机制
    android开发之 SQLite(数据库)
    前端目标——天猫网页
    android 开发之Toast
    centos8 单机安装k8s
    mysql 查看库大小
    idea 常见问题
  • 原文地址:https://www.cnblogs.com/SzeCheng/p/5260007.html
Copyright © 2020-2023  润新知