[索引页]
[源码下载]


化零为整WCF(8) - 消息处理(使用流数据传输文件)


作者:webabcd


介绍
WCF(Windows Communication Foundation) - 消息处理:使用流数据传输文件,减少内存开销


示例
1、服务
IStreamed.cs
化零为整WCF(8) - 消息处理(使用流数据传输文件)using System;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Collections.Generic;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Linq;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Text;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.ServiceModel;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.IO;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
化零为整WCF(8) - 消息处理(使用流数据传输文件)
namespace WCF.ServiceLib.Message

Streamed.cs
化零为整WCF(8) - 消息处理(使用流数据传输文件)using System;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Collections.Generic;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Linq;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Text;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.ServiceModel;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.IO;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
化零为整WCF(8) - 消息处理(使用流数据传输文件)
namespace WCF.ServiceLib.Message


2、宿主
Streamed.cs
化零为整WCF(8) - 消息处理(使用流数据传输文件)using (ServiceHost host = new ServiceHost(typeof(WCF.ServiceLib.Message.Streamed)))
}

App.config
化零为整WCF(8) - 消息处理(使用流数据传输文件)<?xml version="1.0" encoding="utf-8" ?>
化零为整WCF(8) - 消息处理(使用流数据传输文件)
<configuration>
化零为整WCF(8) - 消息处理(使用流数据传输文件)  
<system.serviceModel>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
<services>
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<!--name - 提供服务的类名-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<!--behaviorConfiguration - 指定相关的行为配置-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<service name="WCF.ServiceLib.Message.Streamed" behaviorConfiguration="MessageBehavior">
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
<!--address - 服务地址-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
<!--binding - 通信方式-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
<!--contract - 服务契约-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
<!--bindingConfiguration - 指定相关的绑定配置-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
<endpoint address="Message/Streamed" binding="netTcpBinding" contract="WCF.ServiceLib.Message.IStreamed" bindingConfiguration="StreamedBindingConfiguration" />
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
<host>
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<baseAddresses>
化零为整WCF(8) - 消息处理(使用流数据传输文件)            
<add baseAddress="http://localhost:12345/Message/Streamed/"/>
化零为整WCF(8) - 消息处理(使用流数据传输文件)            
<add baseAddress="net.tcp://localhost:54321/"/>
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
</baseAddresses>
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
</host>
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
</service>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
</services>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
<behaviors>
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<serviceBehaviors>
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
<behavior name="MessageBehavior">
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<!--httpGetEnabled - 使用get方式提供服务-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<serviceMetadata httpGetEnabled="true" />
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<serviceDebug includeExceptionDetailInFaults="true"/>
化零为整WCF(8) - 消息处理(使用流数据传输文件)        
</behavior>
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
</serviceBehaviors>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
</behaviors>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
<bindings>
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<netTcpBinding>
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<!--transferMode - 指示通道是使用流处理模式还是缓冲模式来传输请求和响应消息-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<!--maxReceivedMessageSize - 在采用此绑定配置的通道上可接收的最大消息大小(单位:字节)-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<!--receiveTimeout - 在传输引发异常之前可用于完成读取操作的时间间隔-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<binding name="StreamedBindingConfiguration" transferMode="Streamed" maxReceivedMessageSize="1073741824" receiveTimeout="00:10:00" />
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
</netTcpBinding>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
</bindings>
化零为整WCF(8) - 消息处理(使用流数据传输文件)  
</system.serviceModel>
化零为整WCF(8) - 消息处理(使用流数据传输文件)
</configuration>


3、客户端
Streamed.cs
化零为整WCF(8) - 消息处理(使用流数据传输文件)using System;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Collections.Generic;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Linq;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Text;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.Windows.Forms;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.ServiceModel;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
using System.IO;
化零为整WCF(8) - 消息处理(使用流数据传输文件)
化零为整WCF(8) - 消息处理(使用流数据传输文件)
namespace Client2.Message

App.config
化零为整WCF(8) - 消息处理(使用流数据传输文件)<?xml version="1.0" encoding="utf-8" ?>
化零为整WCF(8) - 消息处理(使用流数据传输文件)
<configuration>
化零为整WCF(8) - 消息处理(使用流数据传输文件)  
<system.serviceModel>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
<client>
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<!--address - 服务地址-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<!--binding - 通信方式-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<!--contract - 服务契约-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<endpoint address="net.tcp://localhost:54321/Message/Streamed" binding="netTcpBinding" contract="MessageSvc.Streamed.IStreamed" bindingConfiguration="StreamedBindingConfiguration" />
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
</client>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
<bindings>
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
<netTcpBinding>
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<!--transferMode - 指示通道是使用流处理模式还是缓冲模式来传输请求和响应消息-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<!--sendTimeout - 在传输引发异常之前可用于完成写入操作的时间间隔-->
化零为整WCF(8) - 消息处理(使用流数据传输文件)          
<binding name="StreamedBindingConfiguration" transferMode="Streamed" sendTimeout="00:10:00" />
化零为整WCF(8) - 消息处理(使用流数据传输文件)      
</netTcpBinding>
化零为整WCF(8) - 消息处理(使用流数据传输文件)    
</bindings>
化零为整WCF(8) - 消息处理(使用流数据传输文件)  
</system.serviceModel>
化零为整WCF(8) - 消息处理(使用流数据传输文件)
</configuration>


运行结果:
上传文件后提示上传成功


OK
[源码下载]

相关文章:

  • 2021-09-14
  • 2022-12-23
  • 2021-07-03
  • 2022-12-23
  • 2022-02-22
  • 2022-12-23
猜你喜欢
  • 2021-08-30
  • 2021-11-13
  • 2021-08-25
  • 2021-12-29
  • 2021-11-06
  • 2021-08-03
相关资源
相似解决方案