【发布时间】:2010-10-11 07:09:47
【问题描述】:
我是 .net 中线程模型的新手。你会用来做什么:
- 启动处理文件的进程 (process.StartInfo.FileName = fileName;)
- 等待用户关闭进程或一段时间后放弃线程
- 如果用户关闭进程,删除文件
启动进程和等待应该在与主线程不同的线程上完成,因为这个操作不应该影响应用程序。
例子:
我的应用程序生成一个 html 报告。用户可以右键单击某处并说“查看报告” - 现在我在一个临时文件中检索报告内容并启动处理 html 文件的进程,即默认浏览器。问题是我无法清理,即删除临时文件。
【问题讨论】:
-
控制台 ap 或 WinForms 或 ASP.NET?
-
控制台或 WinForms。我正在启动的进程是机器本地的。
-
我在这里发布了一个使用 async/await 的示例——allampersandall.com/2013/03/net-process-async-await
-
您可能对this post 感兴趣,它解释了如何使用异步/等待和超时来处理进程。
标签: c# .net multithreading process