我有一项服务,在从 API 获取后,我必须将大量记录保存到数据库中。 同时,我必须将这些记录从服务返回给调用者。 但问题是我在数据库中保存记录需要很长时间,所以服务越来越慢。 我对此进行了搜索,发现了一些并行任务或异步和等待的概念。
我是这个概念的新手,对它的用法感到困惑
我调查过:
Running multiple C# Task Async http://msdn.microsoft.com/en-us/library/hh191443.aspx
但我不知道该怎么做。请帮助我:
下面是代码:
public List<SearchedItems> SearchItems(string ItemToSearch, string AuthenticationToken)
{
var _list= getRecords from Api //100 records
//Task<int>.Factory.StartNew(() => _objBLLNutritionLog.FillNutritionTable(_tempList)); // also tried this
saveToDb(_list); // need to run this asynchronously Or parallel (Taking long time)
return _list;
}
我想将结果返回给调用者,另一方面想填充数据库。 请提出建议。
谢谢
最佳答案
我希望您使用的是 .NET 4.5。
那么让我们开始吧。首先用 async
标记你的 SearchItems
函数:
public async List<SearchedItems> SearchItems(string ItemToSearch, string AuthenticationToken)
{
}
然后您可以等待
saveToDb
任务:
var result = await Task.Factory.StartNew(()=> saveToDb(_list));
关于c# - 在 .net c# 中异步或并行地在数据库中保存记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20799666/