异步等待在控制台应用程序中

时间:2014-05-28 06:05:41

标签: c# .net asynchronous console-application

有意义地异步编写Windows控制台应用程序(使用async / await),而它应该按顺序运行吗?有一些异步候选方法(调用webservice,将数据加载到数据库),但事实上,一切都应该一步一步运行。它只是维护实用程序。

有没有理由编写异步代码?

2 个答案:

答案 0 :(得分:1)

不确定这是否是严格意义上的问题,特别是因为没有“正确答案”,但......

不久前,我们甚至不会问这个问题。只需编写同步代码并完成它。很明显,没有迫切的需要来将其写成异步,但它确实有很多好处。

  • 正如@Silvermind所指出 - 你可以允许取消
  • 可能更容易让更好的反馈 - 例如伪进度“条” - 例如屏幕上的星号或百分比计数器。取决于你在做什么。
  • 未来的“证据”(哈哈) - 当有人告诉你为它编写WinForms或WPF应用程序时,因为他们发现“太难记住所有那些繁琐的命令行开关”。你已经掌握了代码的内涵。
  • 许多.net库正在添加异步代码,MS开始将它们视为接近任务的标准/正确方式(双关语:-)。
  • 如果它是一个中等简单的应用程序,那么你可以使用它作为练习使用异步代码的一个很好的借口。异步代码通常很棘手,因此在编写实践时从不会受到伤害(我认为)。

当然,总有一个旧的最爱 - “因为你可以”!

如果你需要快速完成这个应用程序,那么只需要按照时间的推移将它击败并继续前进。否则,如果你有一点时间,那么用所有聪明的底层位和bob构建它。但是,最终,不要花太多时间担心它。

当然,我的拙见。

答案 1 :(得分:1)

如果您希望代码同步运行,请不要使用异步方法。