[C#] File.Create 鎖定檔案

  • 16968
  • 0
  • C#
  • 2016-10-21

由於很久沒有寫Stream.IO 的相關程式,剛好今天有一個需求是Parser 文件,「判斷檔案是否存在,不存在就建立新的檔案,存在就寫檔」,

結果碰到一個寫檔入門常見的錯誤,

類型 'System.IO.IOException' 的未處理例外狀況發生於 mscorlib.dll 其他資訊: 由於另一個處理序正在使用檔案 'C:\Users\Administrator\Desktop\xxxx.xml',所以無法存取該檔案。

直覺反應這是串流沒有被正常關閉,導致另一個串流想要IO的時候被Lock 住了。

...繼續閱讀 »

[C#] using statement(陳述式) 資源(IO)控管好寫法!

  • 2168
  • 0
  • C#
  • 2016-08-03

在幫同仁Code Review 的時候,看到「標準」的IO寫法,如下:

   try
   {
      FileStream fileStream = new FileStream("c://test.txt",FileMode.Create,FileAccess.Write);
      //IO Process...
      fileStream.Close();
   }
   catch (Exception _Exception)
   {
     throw;
   }

就是基本的try catch,然後就是 Release Resource (Dipose),但其實有更好的寫法,就是使用「using statement」,如下:

...繼續閱讀 »

[Asp .Net MVC] MVC Client 端驗證 (Unobtrusive Validate)

前陣子有一篇文章 [Asp .Net MVC] AjaxHelper 失效了!Why? ,在介紹使用 Unobtrusive Ajax 來讓AjaxHelper 的 Form Submit 正常,

往下開發的時候,發現我們在使用MVC 資料標記(Data Annotations),每次都得回到後端檢核後才能知道前端傳回來的資料是否符合條件,

才發現原來沒有使用到 Unobtrusive Validate 的機制來做Client 端的資料檢核。

...繼續閱讀 »