我已經設置了一個過程來創建新任務來處理文件處理。我收到並且未處理異常錯誤並且只需點擊繼續按鈕就會出現問題,主進程繼續運行。現在我還發現,在子任務中,我遇到了文件衝突錯誤,並且任務以單獨的.exe運行,我的印象是一切都是線程安全的。因此,第一個問題是在主流程中創建任務.GProcess是一個由6個類組成的完整項目。這被添加作爲類庫引用到主過程Form1類處理任務工廠例外
Public Class Form1
..Private parser as GProcess.module = new GProcess.module()
dim factory as new taskfactory
factory.startnew(address of parser.main)
try
task.waitall()
catch ae as aggregateexception
for each ex in ae.innerexceptions
logs.insert(ex.message.tostring)
next
finally
parser.ctsources.cancel()
end try
現在我從MSDN得到了aggregateexception的事情,不知道如何實現它,但是基本上我想做什麼是取消導致異常任務並contiue運行所有其他任務,並捕獲文件,取消的任務正在工作,並將名稱保存到我的日誌,或者如果可能的話,用它正在處理的文件重新啓動該任務..
現在對於第二個問題,我有一個xmlwriter被創建時,任何應該創建它自己的實例的任務訪問類,所以不知道爲什麼會有衝突,但如果它發生,任務/線程只是取消或做wa它訪問該文件。
....
public class filecleaner
private xmlfile as string = directoryPath & filename
private xwriter as xmltextwriter = new xmltextwriter(xmlfile,nothing)
....
感謝您的回覆......我添加了一個上面的編輯,但也澄清..我已經將整個project.exe作爲參考添加到主進程中。然後將此作爲任務調用...我將使用您的對第二個問題的建議 – vbNewbie 2011-04-18 16:58:01