正确处理WCF文件及解决方案

开发 后端
WCF文件作为一个高效的.NET程序语言。其混合了函数语言和物件导向程序编制语言,并且完美的适用于编程、算法、技术和探索性开发,因此可以在使用的过程当中感受到趣味性和吸引力。

虽然有许多人对WCF文件的使用性表示怀疑,但在年复一年的不断发展中,但前提是要深入理解到底什么是WCF文件,及WCF是怎么运作的。 下面就对WCF文件进行深一步的介绍。。。

这样,既不用添加服务引用,也不需要生成代理。文件传输的函数不是很难,代码如下:

  1. publicvoidTransferFile(FileTransferMessagerequest)  
  2. {  
  3. stringlogInfo;  
  4.  
  5. Program.Get_ILog().Log(logInfo=string.Format("开始接收文件,name={0}",request.FileName));//填写日志  
  6. //文件信息  
  7. stringuploadFolder=AppValue.GetParam()._saveDir;  
  8. stringsavaPath=request.SavePath;  
  9. stringfileName=request.FileName;  
  10. StreamsourceStream=request.FileData;  
  11. FileStreamtargetStream=null;  
  12. //判断文件是否可读  
  13. if(!sourceStream.CanRead)  
  14. {  
  15. thrownewException("数据流不可读!");  
  16. }  
  17. if(savaPath==null)savaPath=@"文件传输\";  
  18. if(!savaPath.EndsWith("\\"))savaPath+="\\";  
  19. if(!uploadFolder.EndsWith("\\"))uploadFolder+="\\";  
  20.  
  21. uploadFolderuploadFolder=uploadFolder+savaPath;  
  22. //创建保存文件夹  
  23. if(!Directory.Exists(uploadFolder))  
  24. {  
  25. Directory.CreateDirectory(uploadFolder);  
  26. }  
  27.  
  28. intfileSize=0;  
  29. stringfilePath=Path.Combine(uploadFolder,fileName);//Combine合并两个路径  
  30. try  
  31. {  
  32. 文件流传输  
  33. using(targetStream=newFileStream(filePath,FileMode.Create,FileAccess.Write,FileShare.None))  
  34. {  
  35. 定义文件缓冲区  
  36. constintbufferLen=4096;  
  37. byte[]buffer=newbyte[bufferLen];  
  38. intcount=0;  
  39.  
  40. while((count=sourceStream.Read(buffer,0,bufferLen))>0)  
  41. {  
  42. targetStream.Write(buffer,0,count);  
  43. fileSize+=count;  
  44. }  
  45. targetStream.Close();  
  46. sourceStream.Close();  
  47. }  
  48. }  
  49. catch(Exceptionex)  
  50. {  
  51. Program.Get_ILog().Log(logInfo+ex.Message);  
  52. }  
  53.  
  54. Program.Get_ILog().Log(string.Format("接收文件完毕name={0},filesize={1}",  
  55. request.FileName,fileSize));  

WCF文件其他的代码感兴趣的朋友下载来研究吧!

【编辑推荐】

  1. 专家教您WCF异步调用方法
  2. 对WCF异步调用进行服务操作
  3. 阐述WCF学习相关经验
  4. 对WCF框架服务模型简介
  5. 详细分析WCF控件使用问题

 

责任编辑:chenqingxiang 来源: 51CTO.com
相关推荐

2010-02-24 10:35:56

WCF链接服务超时

2010-02-22 10:29:11

WCF上传文件

2009-11-06 15:25:25

WCF异常

2010-09-30 10:31:28

2010-02-23 14:56:18

WCF Bug

2009-12-02 09:49:43

PHP Ajax乱码

2019-01-07 15:42:00

JavaScript前端 编码

2010-02-24 09:28:37

WCF安全配置

2010-02-24 14:05:08

WCF openati

2010-05-07 13:28:43

Oracle数据库

2009-10-27 15:02:07

VB.NET文件处理

2010-05-21 11:07:55

MySQL 5 乱码问

2021-12-31 18:20:44

数据云端数据迁移

2010-02-26 15:46:48

Silverlight

2022-07-13 15:03:23

网络安全数据安全远程工作

2012-02-01 10:50:49

JavaWeb报表

2024-01-29 00:21:14

环境变量数据

2009-12-08 15:19:58

WCF大数据量

2010-02-25 14:53:44

WCF调用服务异常

2012-05-30 15:40:16

大并发并发解决方案
点赞
收藏

51CTO技术栈公众号