正確處理WCF文件及解決方案
作者:佚名 
  WCF文件作為一個高效的.NET程序語言。其混合了函數(shù)語言和物件導(dǎo)向程序編制語言,并且完美的適用于編程、算法、技術(shù)和探索性開發(fā),因此可以在使用的過程當(dāng)中感受到趣味性和吸引力。
 雖然有許多人對WCF文件的使用性表示懷疑,但在年復(fù)一年的不斷發(fā)展中,但前提是要深入理解到底什么是WCF文件,及WCF是怎么運(yùn)作的。 下面就對WCF文件進(jìn)行深一步的介紹。。。
這樣,既不用添加服務(wù)引用,也不需要生成代理。文件傳輸?shù)暮瘮?shù)不是很難,代碼如下:
- 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("數(shù)據(jù)流不可讀!");
 - }
 - if(savaPath==null)savaPath=@"文件傳輸\";
 - if(!savaPath.EndsWith("\\"))savaPath+="\\";
 - if(!uploadFolder.EndsWith("\\"))uploadFolder+="\\";
 - uploadFolderuploadFolder=uploadFolder+savaPath;
 - //創(chuàng)建保存文件夾
 - 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))
 - {
 - 定義文件緩沖區(qū)
 - 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異步調(diào)用方法
 - 對WCF異步調(diào)用進(jìn)行服務(wù)操作
 - 闡述WCF學(xué)習(xí)相關(guān)經(jīng)驗(yàn)
 - 對WCF框架服務(wù)模型簡介
 - 詳細(xì)分析WCF控件使用問題
 
責(zé)任編輯:chenqingxiang 
                    來源:
                    51CTO.com
 














 
 
 


 
 
 
 