【发布时间】:2019-09-21 09:28:31
【问题描述】:
我的代码实际上没有问题,但我可能会遇到性能问题。
根据我对任务的了解,首先启动的任务说 TaskA 可以与另一个任务说 TaskB 并行运行,但 TaskB 可能会在 TaskA 完成其工作之前完成并退出其线程。所以在我的代码中,我试图继续操作,但首先要知道任务状态。我的代码中名为TaskResult 的任务是否会在前面的代码行运行之前完成,或者如果我想要的话,我应该在上面使用Task.Wait() 吗?
public virtual async Task<OperationResult> DeleteAsync(Expression<Func<TEntity, bool>> expression)
{
Task TaskResult = await _DbContext.Set<TEntity>().RemoveRange(IEnumerable<TEntity>);
if (TaskResult.Status == TaskStatus.RanToCompletion)
{
return new OperationResult()
{
Message = "",
ReturnObject = null,
Status = OperationStatus.Deleted,
Succeeded = true
};
}
if (TaskResult.Status == TaskStatus.Faulted)
{
return new OperationResult()
{
Message = "",
ReturnObject = null,
Status = OperationStatus.UnknownError,
Succeeded = false
};
}
}
【问题讨论】:
标签: c# asp.net-core task