An *_* Hv 84 asynchronous entity-framework entity-framework-6
这是我的代码:
var banner = context.Banners.ToListAsync()
var newsGroup = context.NewsGroups.ToListAsync()
await Task.WhenAll(banner, newsGroup);
Run Code Online (Sandbox Code Playgroud)
但是当我从控制器调用该函数时.它显示错误
在先前的异步操作完成之前,在该上下文上开始第二操作.使用'await'确保在此上下文上调用另一个方法之前已完成任何异步操作.任何实例成员都不保证是线程安全的.
请帮我解决这个问题.
Ste*_*ary 114
该例外清楚地解释了一次只允许每个上下文一个异步操作.
因此,您可能需要await一次一个,因为错误消息表明:
var banner = await context.Banners.ToListAsync();
var newsGroup = await context.NewsGroups.ToListAsync();
Run Code Online (Sandbox Code Playgroud)
或者您可以使用多个上下文:
var banner = context1.Banners.ToListAsync();
var newsGroup = context2.NewsGroups.ToListAsync();
await Task.WhenAll(banner, newsGroup);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36391 次 |
| 最近记录: |