虽然有许多人对WCF文件的使用性表示怀疑,但在年复一年的不断发展中,但前提是要深入理解到底什么是WCF文件,及WCF是怎么运作的。 下面就对WCF文件进行深一步的介绍。。。
成都创新互联专注于企业成都全网营销、网站重做改版、章丘网站定制设计、自适应品牌网站建设、H5场景定制、商城网站定制开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为章丘等各大城市提供网站开发制作服务。
这样,既不用添加服务引用,也不需要生成代理。文件传输的函数不是很难,代码如下:
- publicvoidTransferFile(FileTransferMessagerequest)
- {
- stringlogInfo;
- Program.Get_ILog().Log(logInfo=string.Format("开始接收文件,name={0}",request.FileName));//填写日志
- //文件信息
- stringuploadFolder=AppValue.GetParam()._saveDir;
- stringsavaPath=request.SavePath;
- stringfileName=request.FileName;
- StreamsourceStream=request.FileData;
- FileStreamtargetStream=null;
- //判断文件是否可读
- if(!sourceStream.CanRead)
- {
- thrownewException("数据流不可读!");
- }
- if(savaPath==null)savaPath=@"文件传输\";
- if(!savaPath.EndsWith("\\"))savaPath+="\\";
- if(!uploadFolder.EndsWith("\\"))uploadFolder+="\\";
- uploadFolderuploadFolder=uploadFolder+savaPath;
- //创建保存文件夹
- if(!Directory.Exists(uploadFolder))
- {
- Directory.CreateDirectory(uploadFolder);
- }
- intfileSize=0;
- stringfilePath=Path.Combine(uploadFolder,fileName);//Combine合并两个路径
- try
- {
- 文件流传输
- using(targetStream=newFileStream(filePath,FileMode.Create,FileAccess.Write,FileShare.None))
- {
- 定义文件缓冲区
- constintbufferLen=4096;
- byte[]buffer=newbyte[bufferLen];
- intcount=0;
- while((count=sourceStream.Read(buffer,0,bufferLen))>0)
- {
- targetStream.Write(buffer,0,count);
- fileSize+=count;
- }
- targetStream.Close();
- sourceStream.Close();
- }
- }
- catch(Exceptionex)
- {
- Program.Get_ILog().Log(logInfo+ex.Message);
- }
- Program.Get_ILog().Log(string.Format("接收文件完毕name={0},filesize={1}",
- request.FileName,fileSize));
- }
WCF文件其他的代码感兴趣的朋友下载来研究吧!
网页名称:正确处理WCF文件及解决方案
链接地址:http://www.shufengxianlan.com/qtweb/news22/302072.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联