ASP.NET中的async / await与同步Sql Server连接

时间:2016-10-11 17:21:06

标签: asp.net asynchronous

如果唯一的I / O调用是针对未在其连接字符串中使用ASYNC参数的后端SQL Server数据库,那么在ASP.NET应用程序中使用async / await是否有任何实际好处?

1 个答案:

答案 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更有可能是有益的。