通过客户端ASP.NET使用WCF发送大量数据

通过客户端ASP.NET使用WCF发送大量数据,asp.net,web-services,c#-4.0,web-config,wcf-client,Asp.net,Web Services,C# 4.0,Web Config,Wcf Client,希望使用WCF将数据库中的文件保存为二进制数据。客户端是ASP.NET C#。我已经使用以下代码,能够发送少于100KB的数据 客户端配置文件的代码为 <system.serviceModel> <bindings> <basicHttpBinding> <binding name="basicHttpBinding_IService" closeTimeout="00:01:00" openTim

希望使用WCF将数据库中的文件保存为二进制数据。客户端是ASP.NET C#。我已经使用以下代码,能够发送少于100KB的数据

客户端配置文件的代码为

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="basicHttpBinding_IService" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"
          textEncoding="utf-8" transferMode="StreamedResponse" useDefaultWebProxy="true"
          messageEncoding="Mtom">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
           maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="">
              <extendedProtectionPolicy policyEnforcement="Never" />
            </transport>
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="BasicHttpBinding_IWITSService" />

      </basicHttpBinding>
    </bindings>

    <behaviors>
      <endpointBehaviors>
        <behavior name="debuggingBehaviour">

          <dataContractSerializer maxItemsInObjectGraph="2147483647" />

        </behavior>
      </endpointBehaviors>
    </behaviors>
    <client>
      <endpoint address="http://localhost:4175/WITSWCFService.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWITSService"
        contract="MyService.IWITSService" name="BasicHttpBinding_IWITSService" />
    </client>
  </system.serviceModel>

下面给出了服务配置文件的代码

<system.web>
    <compilation debug="true" />
    <httpRuntime executionTimeout="4800" maxRequestLength="2147483647" />


  </system.web>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="basicHttpEndpointBinding" closeTimeout="01:01:00"
          openTimeout="01:01:00" receiveTimeout="01:10:00" sendTimeout="01:01:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
          messageEncoding="Mtom" textEncoding="utf-8" transferMode="StreamedRequest"
          useDefaultWebProxy="true">
          <readerQuotas  maxDepth="64"  maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096"  maxNameTableCharCount="16384"/>
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default"  />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <services>
      <service name="WITSService.WITSService"  >

        <endpoint bindingConfiguration="basicHttpEndpointBinding" address="basic" binding="basicHttpBinding" contract="WITSService.WITSService" />


      </service>
    </services>


    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="myEndPointBehavior">
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </endpointBehaviors>
    </behaviors>

    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

当我上传300KB的文件时,我遇到了这个错误

远程服务器返回了意外的响应:(413)请求 实体太大

谁能帮我一下哪里出了错。。
提前感谢

我已通过在Service.config文件中使用此代码解决了此问题

<services>
      <service name="Service.IService">
        <clear />
        <endpoint binding="basicHttpBinding" contract="Service.IService" />
      </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
            maxArrayLength="16348" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        </binding>
      </basicHttpBinding>
      <webHttpBinding>
        <binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
      </webHttpBinding>
    </bindings>

我已通过在Service.config文件中使用此代码解决了此问题

<services>
      <service name="Service.IService">
        <clear />
        <endpoint binding="basicHttpBinding" contract="Service.IService" />
      </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
            maxArrayLength="16348" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        </binding>
      </basicHttpBinding>
      <webHttpBinding>
        <binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
      </webHttpBinding>
    </bindings>


Sir的可能副本我已检查此线程。但这对我没有帮助。我已经附上了我的配置文件的代码。请告诉我哪里出了错。可能是重复的先生。我已经检查了这条线。但这对我没有帮助。我已经附上了我的配置文件的代码。请告诉我哪里出错了。。