实现WCF传输大数据

客户端配置:   
<system.serviceModel>
      <bindings>
        <basicHttpBinding>
          <binding name="BasicHttpBinding_ImportAndExportWcfService" maxBufferSize="2147483647"
            maxReceivedMessageSize="2147483647">
            <security mode="None" />
          </binding>        
	</basicHttpBinding>
      </bindings>
        <client>
            <endpoint address="http://localhost:1973/OMSGIS/WcfService/ImportAndExportWcfService.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ImportAndExportWcfService"
                contract="WcfService.ImportExport.ImportAndExportWcfService"
                name="BasicHttpBinding_ImportAndExportWcfService" />
        </client>
    </system.serviceModel>
服务端配置:

<configuration>

  <system.web>

<!--这里的单位是KB,这样就可以传100M的文件了-->    <httpRuntime maxRequestLength="102400" /> 

</system.web>

  <system.serviceModel>     <behaviors>       <serviceBehaviors>         <behavior name="WcfService.ImportAndExportWcfService">

<!--为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点-->           <serviceMetadata httpGetEnabled="true"/>

<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->           <serviceDebug includeExceptionDetailInFaults="false"/>           <dataContractSerializer maxItemsInObjectGraph="2147483647"/>       

</behavior>       </serviceBehaviors>     </behaviors>     <bindings>       <basicHttpBinding>

        <binding name="BasicHttpBinding_ImportAndExportWcfService" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"

maxReceivedMessageSize="2147483647" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00"

sendTimeout="00:10:00">           <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647"

maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/>         </binding>     

</basicHttpBinding>

    </bindings>     <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>     <services>       <service name="WcfService.ImportAndExportWcfService" behaviorConfiguration="WcfService.ImportAndExportWcfService">         <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ImportAndExportWcfService" contract="WcfService.ImportAndExportWcfService"/>         <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>       </service>     </services>   </system.serviceModel> </configuration>

 

注:

.net默认只能传4M的文件,所以尽管设定了Wcf两端的配置,还是超不出.net的限定,所以如果要传输大文件,还需要在System.Web节下加上

<httpRuntime maxRequestLength="102400" />

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值