我已经设置了一个过程来创建新任务来处理文件处理。我收到并且未处理异常错误并且只需点击继续按钮就会出现问题,主进程继续运行。现在我还发现,在子任务中,我遇到了文件冲突错误,并且任务以单独的.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