在 ASP.NET  一页面Button1事件中,将一些任务交给 后台程序来自动处理,而用户不需等处理结束后才能进行其它操作
(用户根本不需要知道后台服务器在执行处理)主要问题是:交给后台程序来处理,而不影响用户操作(互不影响)该如何做呢?可参考: http://blog.csdn.net/crossskyfreely/archive/2007/09/01/1768124.aspx各位高手请指点!!!

解决方案 »

  1.   

    指点不敢当,就当讨论了。如果用户无需等待,也不需要知道进度的话,可以通过数据库来进行。即在数据库里设计一张表用于指示任务。web系统创建任务插入表中。再设计一个C/S程序或者系统服务,监控此表,并执行任务。
      

  2.   

    这个思路很好,sqldepandence应该支持这个!在petshop4.0中处理订单问题(类似这个问题),好像也做得不错,它是把订单信息放到微软消息队列,然后一个控制台应用程序读消息队列然后处理!
      

  3.   

    如果纯web处理,可以另开一个线程在后台做这个工作,这样前台的浏览操作基本不受影响。不过这样做的前提是,新线程的数量可控、新线程的关闭可控
      

  4.   

    这样也行,有一个办法,就是当前提交的记录先保存在缓存中
    用户可以干别的事情,保存操作应该有一个状态返回,返回成功时清空缓存数据
    如果没有提交成功,则弹出来提示:用户XXX在yyyy-MM-dd录入的xxxx信息没有提交成功,异常信息为:XXXXX,是否修改记录重新提交?如果选择是的话直接转到该页面,同时把缓存中的数据绑定对应的控件中
      

  5.   

    谢谢大家的建议和意见!!!我解决了,是用BackgroundWorker类来实现,实现起来也挺简单的!结贴......