关于如何将EF 6与MVC 5一起使用的最新EF教程似乎倾向于使用对数据库的asych调用,如:
Department department = await db.Departments.FindAsync(id);
Run Code Online (Sandbox Code Playgroud)
这是新标准/最佳做法吗?
我不确定ASP.NET MVC的这种开发风格有什么好处.
有人可以评论这种模式,这是MS推广的新标准吗?
利用异步I/O的优点,它现在很容易编码和编写(使用Await和TAP方法),我想知道,如果我们应该默认使用async,只需要在需要时使用sync来调整性能.
异步I/O释放调用线程,并允许在等待结果时执行其他操作.另一方面,异步I/O比同步慢一点.
为了实施响应式UI,WinRT设计人员认为提供仅异步方法是可以接受的.
内部的AFAIK Windows文件I/O是异步的.天真地看着这个,我不清楚为什么.NET中的异步文件I/O应该比同步慢.
我通常喜欢简单性和健壮性,只在必要时调整性能.在过去,我们默认使用同步,除了调用某些服务以及手机等平台强制执行异步.我们很少使用异步调整.
我被分配到一个已经运行的新项目.我注意到人们使用async方法创建了所有存储库类,并且await每次都在控制器中调用它们,因此它们基本上用作同步代码.
将来不可能异步调用它们和服务器,运行一个SQL Server实例.
它来自一种种子API项目,创建它的人不再在公司,现在没有人确切知道他们为什么async.但我认为在当前的项目场景中,根本没有意义async,它只会给系统增加不必要的复杂性.
async在这种情况下制作它们是否有意义?
如果我有两个正在等待的任务:
await FirstTask();
await SecondTask();
Run Code Online (Sandbox Code Playgroud)
是否只有在 FirstTask 完成后才开始执行 SecondTask?
谢谢