这么一个功能。
 aspx页面调用业务层的一个处理程序
如果调用业务层的程序十分钟还没有得到结果那就提示用户超时
这用timer咋写啊,或者用多线程? 
我现在这个项目其他都弄好了,就差这块了
就算用 timer的话,
十分钟到了提示用户超时,可是服务器肯定还在调用业务层的处理程序,这样性能影响很大啊。
如何真正的停止执行?

解决方案 »

  1.   

    直接SqlCommand缺省超时设定是10分钟这样不行吗?
      

  2.   

    处理程序停止执行 这个动作你可以控制吗用一个timer定时,,注册一个事件,,把停止执行这个操作挂接到事件上,超时了,就执行停止动作
      

  3.   

    建议你用ajax实现,后台处理完毕后,通知前台页面一个消息。
      

  4.   

    另外,业务程也没法持续执行10分钟.这么长的线程,系统早就给kill掉了.
      

  5.   

    这个没有办法的。
    是根据客户上传的报表模板来的
    要是用户的报表模板非常大。
    比如一个excel 几千几万个单元格需要处理。
    肯定是需要这么长时间的。
    所以我让它超过十分钟就提示超时了。让它改报表去
      

  6.   

    如果是这样的,建议处理模块和监视模块分开
    一个服务端程序用来处理模块,别用iis的进程
    另外一个监视状态的模块 用bs,可以用定时读取某个文件或者某条数据来完成。
    这样 在bs 端就可以实时监视服务端处理的状态,同时还可以发送停止命令让服务端停止。
    发送命令的方式很多,可以写文件,写数据库 还可以用wpf直接调用wpf服务。