在我們當前實現的C#windows服務中,我必須包含一個方法來在源文件夾和目標文件夾之間執行文件複製。我假設我不應該使用「後臺工作者」,因爲這是基於服務而不是基於UI的。我應該包含異步文件IO操作嗎?或者我應該簡單地產生一個後臺線程?Windows服務中的異步操作
0
A
回答
0
如果複製過程非常耗時,我肯定會建議跨越一個專門用於複製過程的新後臺工作者(線程),以便主服務線程可以自由地做更重要和有意義的事情。 另外,您可能需要複製後臺工作者將屬性公開給主服務線程複製過程的狀態,即未啓動,正在進行,已完成。
檢查這裏的備註部分:
+0
我只想了解後臺工作線程是否可以用於非基於UI的應用程序(如服務?) – user759913
+0
它專門用於非UI操作。請檢查這裏的「備註」部分:http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker%28v=vs.110%29.aspx – Rami
0
void WindowsService()
{
// ...
ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessFile), a);
// ...
// This code executes without waiting for ProcessFile to complete
}
private void ProcessFile(object a)
{
// Perform File I/O here
}
相關問題
- 1. 異步操作中的異步操作
- 2. 處理異步服務器端操作
- 3. 異步服務操作:無阻斷
- 4. 異步停止Windows服務
- 5. 服務中的繁重操作異步任務凍結屏幕
- 6. 在Windows Phone7中處理異步操作
- 7. WP7/Silverlight中的異步操作/任務
- 8. 如何在Android服務中異步任務網絡操作?
- 9. 趕上服務器端異常在Windows Phone的異步服務
- 10. 在windows服務中託管的WCF服務的異步調用
- 11. Actionscript中的異步操作
- 12. Javascript中的異步操作。
- 13. SolrNet中的異步操作
- 14. router.use中的異步操作
- 15. oracle中的異步操作
- 16. 使用工作流或Windows服務進行同步。操作
- 17. 同步GM_xmlhttpRequest異步操作?
- 18. Python twisted:異步操作後寫入連接的服務器?
- 19. 來自WCF服務或ASP.NET的異步操作
- 20. 優化調用同一服務的異步多請求操作
- 21. ORMLite異步操作
- 22. 異步httpclient操作
- 23. C#異步操作
- 24. 使操作異步
- 25. struts2異步操作
- 26. 異步SQL操作
- 27. 隊列異步任務操作?
- 28. 來自Windows服務的異步WCF服務調用
- 29. 在PCL服務參考設置中禁用基於任務的異步操作
- 30. 異步操作vs異步網絡任務?
如果可能的話你應該使用異步IO的API。創建後臺線程僅用於複製文件是沒有意義的。 – Noseratio