如果唯一的I / O调用是针对未在其连接字符串中使用ASYNC参数的后端SQL Server数据库,那么在ASP.NET应用程序中使用async / await是否有任何实际好处?
答案 0 :(得分:2)
最有可能的是,async
在您的情况下(即使用单个SQL Server实例)无法帮助您。这假设大多数(或所有)I / O绑定的ASP.NET请求都会访问数据库。
正如我在intro to async
on ASP.NET article中所述:
十年前,一个常见的架构是让一个ASP.NET Web服务器与一个SQL Server数据库后端通信。在这种简单的体系结构中,通常数据库服务器是可伸缩性瓶颈,而不是Web服务器。使您的数据库调用异步可能没有帮助;您当然可以使用它们来扩展Web服务器,但数据库服务器将阻止整个系统进行扩展。
相比之下,对于Azure SQL(甚至是SQL Server群集),ASP.NET上的async
可能是有益的。对于更具可伸缩性的后端(NoSQL或Web API),async
更有可能是有益的。