【发布时间】:2012-01-20 22:00:06
【问题描述】:
我正在运行一个从网络驱动器中删除文件夹的 Windows 服务。我想让删除异步。如何做到这一点?
现在我正在遍历目录并调用
Directory.Delete(fullPath, true);
谢谢
【问题讨论】:
-
很难理解为什么这会成为服务的要求,他们已经使用了线程。你可以用另一个。
-
把你的目录删除放在一个方法中,并异步调用它。很简单。这是一个很棒的教程。您还可以使用异步回调/事件来发布进度更新; codeproject.com/Articles/14931/Asynchronous-Method-Invocation
-
为什么 Windows 服务应该异步执行操作?无论如何,它在后台运行。异步操作通常用于保持 UI 响应,而不是在长时间运行的操作期间冻结它。
-
@OlivierJacot-Descombes:Windows 服务应该响应启动/停止请求。
-
@OlivierJacot-Descombes:
Application.DoEvents用于 WinForms 应用程序。 Windows 服务没有消息循环。
标签: c# c#-4.0 asynchronous