ASP.NET中使用同步Sql Server连接的异步/等待

ASP.NET中使用同步Sql Server连接的异步/等待,asp.net,asynchronous,Asp.net,Asynchronous,如果在ASP.NET应用程序中仅对连接字符串中未使用async参数的后端SQL Server数据库进行I/O调用,那么在ASP.NET应用程序中使用async/await是否有任何真正的好处 最有可能的是,async在您的情况下(即使用单个SQL Server实例)对您没有帮助。这是假设大多数(或所有)I/O绑定的ASP.NET请求命中数据库 正如我在报告中所述: 十年前,一种常见的体系结构是使用一个ASP.NET Web服务器与一个SQL server数据库后端进行通信。在这种简单的体系结构中

如果在ASP.NET应用程序中仅对连接字符串中未使用async参数的后端SQL Server数据库进行I/O调用,那么在ASP.NET应用程序中使用async/await是否有任何真正的好处

最有可能的是,
async
在您的情况下(即使用单个SQL Server实例)对您没有帮助。这是假设大多数(或所有)I/O绑定的ASP.NET请求命中数据库

正如我在报告中所述:

十年前,一种常见的体系结构是使用一个ASP.NET Web服务器与一个SQL server数据库后端进行通信。在这种简单的体系结构中,通常数据库服务器是可伸缩性的瓶颈,而不是Web服务器。使数据库调用异步可能没有帮助;您当然可以使用它们来扩展Web服务器,但数据库服务器将阻止系统作为一个整体进行扩展


相反,对于Azure SQL(甚至SQL Server群集),ASP.NET上的
async
可能是有益的。对于更具可伸缩性的后端(NoSQL或web API),
async
更有可能是有益的。

SQL server是可伸缩的吗?不,我假设一个没有集群的简单SQL server实例。我强烈怀疑,在这种情况下,使用async污染代码库是毫无用处的,但我正在寻找一个明确的理由来确认或反例。谢谢你,Stephen。在过去的几天里,我一直在阅读您的文章,这些文章对我理解异步及其历史非常有价值。这确实证实了我对他们的怀疑和理解。