用WCF上传文件

本文介绍了如何使用WCF服务进行文件上传。通过创建一个WCF服务接口,使用Stream对象传递大文件,并在服务实现中将文件保存到指定目录。配置文件中需设置maxReceivedMessageSize和transferMode等相关参数,以支持大文件传输。客户端配置需与服务端保持一致,以确保文件能成功上传。
摘要由CSDN通过智能技术生成

用WCF上传文件       在 WCF没出现之前,

我一直使用用WebService来上传文件,我不知道别人为什么要这么做,为我们的文件服务器和网站后台和网站前台都不在同一个机器,操作人员觉得用FTP传文件太麻,我就做一个专门用来上传文件的

WebService,把这个WebService部署在文件服务器上,然在网站后台调用这个WebService,把网站后台页面上传上来的文件转化为字节流传给

WebSerce,然后WebService

把这个字节流保存文件到一个只允许静态页面的网站(静态网站可以防止些脚本木马)。   ebService来上传文件存在的问题是效率不高,而且不能传输大数据量的文件,当然你可以用W中的MTOM来传输大文件,有了WCF就好多了,通过使用WCF传递Stream对象来传递大数文件,但有一些限制:   1、只有BasicHttpBinding、NetTcpBinding 和 NetNamedPipeBinding 支持传送流数据。 2、流数据类型必须是可序列化的 Stream 或 MemoryStream。 3、传递时消息体(Message Body)中不能包含其他数据。  4、TransferMode的限制和MaxReceivedMessageSize的限制等。 下面具体实现:新建一个WCFService,接口文件的代码如下:

[ServiceContract]
public interface IUpLoadService 
   {      
     [OperationContract(Action = "UploadFile", IsOneWay = true)]
     void UploadFile(FileUploadMessage request); 
   }    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值