【发布时间】:2017-11-06 12:59:55
【问题描述】:
我需要一个 POST 控制器来处理大量流量 我做过类似的事情
[HttpPost]
public async Task<IActionResult> Post([FromBody] List<VdoPlayInfo> lv)
{
var seesionID = HttpContext.Session.GetString("sessionId");
var vdoID = HttpContext.Session.GetInt32("videoid");
var tasks = new Task[lv.Count];
for (int i = 0; i < lv.Count; i++)
{
tasks[i] = Task.Run(() => _ADB.SaveLogView(lv[i]);
}
await Task.WhenAll(tasks);
return Ok();
}
工作几秒钟后,我收到此错误
System.ArgumentOutOfRangeException: 'Index was out of range.
Must be non-negative and less than the size of the collection.'
即使lv.Count = 2 很艰难,我的i 指数也达到了 5。
有什么问题?
【问题讨论】:
-
您能重新表述一下您遇到的问题吗?
-
这样更好吗?
-
见here
-
@Kulpemovitz 你确定`_ADB.SaveLogView(lv[i])` 对你的列表没有任何作用吗?
-
BRAHIM Kamel - 什么都不做。我只是使用 Dapper 和 SP 将它推送到数据库
标签: c# .net asp.net-mvc asp.net-core task-parallel-library