问题描述
Web页面的响应能不能阻塞“2分钟”???protectedvoidBt_Current_Click(objectsender,EventArgse){//问题:怎么样才能让点击按钮,2分钟后再执行下面的代码???如果是Winform可以使用Thread.sleep(),但是如果是asp.net应该怎么做呢???这里需要两分钟的时间等待后台Winform程序,将数据处理到数据库中。//2分钟后出现执行下面的代码DateTimeDATime=DateTime.Now.AddMinutes(-5);stringsqlstr="select*fromT_WarningwhereDATime>'"+DATime+"'orderbyDATimedesc";Dt_Report=SQLHelper.Query(sqlstr).Tables[0];GridViewBind(gv_Report,Dt_Report);}
解决方案
解决方案二:
如果是2分钟后Web页面响应,那么还应该设置Session超期时间吧。。。还是,在按钮上加一个客户端JS时钟,让它弹出来,进行倒计时。到时刻了再执行后台代码。如果是这样思路应该怎么做?
解决方案三:
能不能给点代码实例,最好有JS时钟的。
解决方案四:
如果是2分钟后Web页面响应,那么还应该设置Session超期时间吧。如果在按钮上加一个客户端JS时钟,让它弹出来,进行倒计时。到时刻了再执行后台代码。这样做可行吗?是不是先执行JS代码,再执行后台代码的。有没有实例可以参考啊。
解决方案五:
有没有人知道呢?????????????????????????????????
解决方案六:
最简单的方法计算机中一条指定所需要的时间是1us1000=1ms1000ms=1秒你设置一个循环for(inti=0;i++;i<具体的us数){intii=0;}思路就是这样
解决方案七:
asp.net也可以用Thread.sleep()吧,你试试,前台js时钟可以给你个方法setInterval,这个是定时执行,具体实现你自己考虑一下吧
解决方案八:
asp.net一样Thread.sleep(20000)
解决方案九:
为什么你觉得asp.net里就不能用Thread.Sleep()了呢
解决方案十:
话说你这是要做什么?鄙人是刚接触C#以及asp.net的菜鸟。干嘛要设置时间睡眠时间呢?前面的程序没有执行完,难道还会跳到后面执行后面的?...还有,你这里延迟两分钟,若是以后数据更多,执行数据库操操作耗时更多,两分钟不够你怎么办?更何况,你这里两分钟多钟,前台你搞进度条么?你为什么不在前台用异步提交的方法呢?这样不就可以延迟响应了么?
解决方案十一:
Thread.Sleep()你首先要明白他的作用。如果你在服务器端的click里面使用了Thread.Sleep()停止2分钟那么前台页面一直会出现无响应。如果你想实现你说的那功能得用前端JS实现。在这我给你说一下思路在你点击按钮Bt_Current的时候触发一个JS。这个JS里面是一个计时器到2分钟得时候用AJAX请求服务器端。服务器端再执行这段代码。//2分钟后出现执行下面的代码DateTimeDATime=DateTime.Now.AddMinutes(-5);stringsqlstr="select*fromT_WarningwhereDATime>'"+DATime+"'orderbyDATimedesc";Dt_Report=SQLHelper.Query(sqlstr).Tables[0];GridViewBind(gv_Report,Dt_Report);
解决方案十二:
引用7楼qzyf1992的回复:
asp.net一样Thread.sleep(20000)
解决方案十三:
引用10楼stormem的回复:
Thread.Sleep()你首先要明白他的作用。如果你在服务器端的click里面使用了Thread.Sleep()停止2分钟那么前台页面一直会出现无响应。如果你想实现你说的那功能得用前端JS实现。在这我给你说一下思路在你点击按钮Bt_Current的时候触发一个JS。这个JS里面是一个计时器到2分钟得时候用AJAX请求服务器端。服务器端再执行这段代码。//2分钟后出现执行下面的代码DateTimeDATime=DateTime.Now.AddMinutes(-5);stringsqlstr="select*fromT_WarningwhereDATime>'"+DATime+"'orderbyDATimedesc";Dt_Report=SQLHelper.Query(sqlstr).Tables[0];GridViewBind(gv_Report,Dt_Report);
懂得,懂得。
解决方案十四:
楼上都说了一样用Thread.Sleep(1000*60*2)