当用户的浏览器断开连接时,如何在ASP.NET中取消数据库查询?

ric*_*ent 6 sql-server asp.net asynchronous

我的ASP.NET(3.5)应用程序允许用户运行一些复杂的查询,最多可能需要4分钟才能返回结果.

当我正在进行长循环代码时,我会Response.IsClientConnected()偶尔检查,以便在用户关闭浏览器或点击停止按钮时我可以结束页面.

但是在查询SQL Server时,我的.NET代码在调用时被阻止GetDataReader().

是否有一种直接的方式来异步地执行GetDataReader()所以我可以等待它,但仍然检查,比如每5-10秒查看用户是否仍然连接,如果他们已经离开,就保释数据库查询?

还是有其他一些我没想到的选择?

Pha*_*bus 5

您可以使用sqlcommand的BeginExecuteReader来获取asynch sqlreader 示例

不是100%肯定那就是你需要的吗?

链接显示取消