一. 实现描述:
1. 创建文件上传下载的服务:StreamService
2. 宿主机加载文件上传下载服务并发布服务:Host
3. 在宿主中配置服务的ABC,配置文件接收与发送的传输模式/消息传输最大值:host.config
4. 客户端检索引用宿主发布的服务,并调用服务中的接口实现文件的上传与下载:Client
5. 配置客户端中引用服务的文件接收与发送的传输模式/消息传输最大值:client.config
二. 实现举例
1. 创建服务
通过流的方式进行文件的传输,实例中采用MemoryStream。
服务接口代码IStreamService:
[ServiceContract]
public interface IStreamService
{
[OperationContract]
MemoryStream DownloadFile(string fileName);
[OperationContract]
void DownloadFileByOutStream(out MemoryStream stream, string fileName);
[OperationContract]
void UploadFile(MemoryStream stream);
}
服务接口实现代码StreamService:
public class StreamService : IStreamService
{
public MemoryStream DownloadFile(string fileName)
{
string filePath = AppDomain.CurrentDomain.BaseDirectory + fileName;
byte[] content = File.ReadAllBytes(filePath);
MemoryStream memory = new MemoryStream(content);
Console.WriteLine("Begin to send file");
return memory;
}
public void DownloadFileByOutStream(out MemoryStream stream, string fileName)
{