一个查询页面,查询速度缓慢,当这个页面查询时整个站点iis或数据库都会受到影响,不考虑单建程序池,程序池回收什么的情况,如何:
当页面正在查询时,后台的存储过程或者页后台程序正在运行,如果及时回收呢,特别是存储过程,如何在页面关闭时就杀掉 当前页面发起的这个查询呢
protected void btnQuery_Click(object sender, Infragistics.WebUI.WebDataInput.ButtonEventArgs e
{
//如果用户在线
if (this.Response.IsClientConnected)
{
//do something ...
}
//用户离线
else
{
KISSpid();//杀死查询的进程 ?????如何实现
Response.End(); //页面终止
}
}
http://www.cnblogs.com/xlx0210/archive/2009/12/23/1630731.html
这个不好控制吧, 还是找其它原因吧,比如查询问题,存储过程问题,还是 机器的配置 太差了 ...
不明白一个查询怎能让页面死去,觉得应该查查数据库设计问题
楼主的意思应该是关掉页面后,这个页面所发起的查询强制结束吧.
需要这个设计:
1用户每分钟往服务器提交一次,更新在线状态
2服务器每分钟检查未即使更新在线状态的session
3关闭所有未在线状态发起的所有请求
楼主搞笑的把,你关了浏览器Request也已经发出去了和已经开始执行的存储过程有什么关系?
除非你再发一个Request显示告诉后台终止执行。
最简单就设置数据库连接超时时间。超时抛出timeout异常,over.
想解决根本还是要优化存储过程,建议将SQL贴出来看看。