zoukankan      html  css  js  c++  java
  • WCF:(400) Bad Request

    报错信息:远程服务器返回了意外响应: (400) Bad Request。

    经过几次调试,发现小数据量不会出现此错误,如何传输大数据量呢,经过网上搜索和几次测试发现,只要在服务端和客户端同时增大以下几个配置项。

    服务器端:

    <system.serviceModel>
        
    <bindings>
          
    <basicHttpBinding>
            
    <binding maxBufferPoolSize="5242880000" maxBufferSize="655360000" maxReceivedMessageSize="655360000">
              
    <security mode="None"/>
            
    </binding>
          
    </basicHttpBinding>
        
    </bindings>
        
    <services>
          
    <service name="test">
            
    <endpoint binding="basicHttpBinding" name="test" contract="Test_Service.Test"/>
          
    </service>
        
    </services>

        
    <behaviors>
          
    <serviceBehaviors>
            
    <behavior>
              
    <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
              
    <serviceMetadata httpGetEnabled="true"/>
              
    <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
              
    <serviceDebug includeExceptionDetailInFaults="true"/>
            
    </behavior>
          
    </serviceBehaviors>
        
    </behaviors>
        
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
      
    </system.serviceModel>

    同样在客户端也需要增大与服务器端相同的配置:

    <system.serviceModel>
        
    <bindings>
          
    <basicHttpBinding>
            
    <binding name="BasicHttpBinding_ITest" closeTimeout="00:01:00"
                    openTimeout
    ="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies
    ="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize
    ="655360000" maxBufferPoolSize="5242880000" maxReceivedMessageSize="655360000"
                    messageEncoding
    ="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy
    ="true">
              
    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                maxBytesPerRead
    ="4096" maxNameTableCharCount="16384" />
              
    <security mode="None">
                
    <transport clientCredentialType="None" proxyCredentialType="None"
                  realm
    ="" />
                
    <message clientCredentialType="UserName" algorithmSuite="Default" />
              
    </security>
            
    </binding>
          
    </basicHttpBinding>
        
    </bindings>
        
    <client>
          
    <endpoint address="http://www.test.com/Test.svc"
            binding
    ="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITest"
            contract
    ="TestService.ITest" name="BasicHttpBinding_ITest" />
        
    </client>
      
    </system.serviceModel>
  • 相关阅读:
    bootstrutp module 显示隐藏 模态框
    手机app传统邀请码安装与免邀请码安装区别,如何选择呢?
    好用的一些开源系统
    一个搞笑的招聘启事
    java和android及IOS对接RSA加密经验
    mysql大数据表改表结构方案
    android开发中监控android软件网络请求的软件Charles使用入门
    android IOC框架学习记录
    java分布式事务
    十八届三中全会的综合改革方案将涉及哪些内容?(转自知乎)
  • 原文地址:https://www.cnblogs.com/guanjie20/p/2009510.html
Copyright © 2011-2022 走看看