我有一個疑問,是否有任何性能增益,如果我使用異步功能在如下數據訪問層:在數據訪問層中使用異步時是否有任何性能增益?
public async Task<IEnumerable<TrnApplicant>> GetAllMemberApplicantsAsync(String webReferenceNumber)
{
using (var context = new OnlineDataContext())
{
var applicant = await Task.Run(() => context.Applicants.First(
app => app.RefNo.Equals(webReferenceNumber, StringComparison.OrdinalIgnoreCase)));
return GetApplicantsInGroup(applicant.ApplicantsGroupId);
}
}
此外,如果不是當它更有意義?
單個請求永遠不會更快,優點是它不會阻止。 – 2014-10-06 10:37:38
取決於如何衡量性能。對於使用ASP.Net服務器的單個用戶來說,性能會下降。爲了服務1M命中/秒,你會發現好處(假設你避免了'Task.Run',並且只是I/O的異步)。 – Aron 2014-10-06 10:37:46