ASP.. NET WebMethod在长时间运行的SQL过程中持有线程池线程

本文关键字:线程 过程中 SQL WebMethod NET 长时间 运行 ASP | 更新日期: 2023-09-27 18:15:14

我有一个从数据库表构建报告的报告页面。报告以表格格式显示。为了处理用户交互,我构建了一个JQuery表插件,允许用户自定义他们的报告,自定义排序,过滤和分页。

JQuery插件使用一组ajax请求向表中填充数据。这些ajax请求调用asp.net (c#) webMethods,后者反过来使用一组类来构建SQL并执行查询。所构建的查询与WebMethod在同一个线程中运行,这导致了一个问题,因为SQL可能需要超过30秒的时间才能返回。我一直在阅读关于启动新线程和异步方法的文章。我的问题是,我显然不想持有一个线程从ASP。. NET池用于SQL的整个执行,因为它只等待I/O。

是否有可能在等待SQL Server的响应时将线程返回到线程池?这可以通过使用ADO.net的Begin和End命令来实现吗?

我问这个问题的原因是,目前这不是一个问题,但随着使用这个系统的用户数量的增加,服务新用户的所有线程池将会饱和运行这些长查询

ASP.. NET WebMethod在长时间运行的SQL过程中持有线程池线程

这可以实现使用开始和结束ADO.net命令吗?

完全正确!