2010-03-21 65 views
1

我想要在wpf應用程序中獲得後臺工作進程。它會創建2個文件,然後崩潰。我的後臺工作方法有什麼問題

BackgroundWorker worker = new BackgroundWorker(); 
         worker.DoWork += delegate(object s, DoWorkEventArgs args) 
         { 
          CreateFile(i.ToString()); 
         }; 
         worker.RunWorkerAsync(); 


private void CreateFile(string fileName) 
    { 
     string path = string.Format(@"{0}\{1}.txt", directory, fileName); 
     using (StreamWriter sw = new StreamWriter(path)) 
     { 
      sw.WriteLine(fileName); 
     } 
    } 

我得到這個錯誤「 不能與開放用戶映射部分文件執行請求的操作。」我究竟做錯了什麼?

任何幫助將是巨大的

+2

認真的答覆?幾乎所有的東西。 – Pierreten 2010-03-21 04:51:01

+0

'我'是什麼?您的展示只會創建1個文件。你有多次調用RunWorkerAsync()?你能解釋一下你想做什麼嗎? – 2010-03-21 04:59:59

+0

1.你想在全畫面上實現什麼?我錯過了一些上下文 - 如何創建2個文件/ dir變量的值..更多代碼將受到歡迎。 2.當發生崩潰時,您可以嘗試識別文件路徑,並使用ProcExp查看哪些進程在崩潰時持有句柄? – Gishu 2010-03-21 05:30:13

回答

0

另一個進程打開了該文件,例如防病毒程序或寫字板。您可以使用Process Monitor來查看它是哪個進程。