我现在要对1000条邮件进行发送
所以我想有一个发送进步条是真实原
现在问题是,我前台的html如何来得到后台进度的百分比谢谢?
比如说存到一个xml文件,还是什么其他方法呢谢谢

解决方案 »

  1.   

    可以直接放到你循环发送Email的 事件中来显示发送进度!
      

  2.   

    RE:楼上的,后台在发送邮件还没有返回客户端IE的时候,我的JS怎么去读取他的进度啊。。晕
      

  3.   

    你要发送的邮件是不是放到 list 中循环发送?
    每成功发送一封添加进度这没问题吧!
      

  4.   


    你要发送的邮件是不是放到 list 中循环发送? 
    每成功发送一封添加进度这没问题吧! 
    --------------------------------------
    你看清楚了没有啊,发邮件是在后台发送的,后台我当然可以计算进度啊
    为题是当后台程序没有执行完的时候,在客户端页面如何来获取到这个进度啊谢谢
      

  5.   

    用ajax来实现
    比如你可以发送一个这样的请求
    SendMail(1,10)等这10条更新完了之后返回到前台 用javascript更新进度条然后再发送下一次请求
    SendMail(11,20) 直到1000条数据发送完
      

  6.   

    RE:
    用ajax来实现 
    比如你可以发送一个这样的请求 
    SendMail(1,10)等这10条更新完了之后返回到前台 用javascript更新进度条然后再发送下一次请求 
    SendMail(11,20) 直到1000条数据发送完
    ------------------------------------
    这个方法开始的时候我也有想的,
    但是问题是,如果我现在不是发邮件而是处理一段很多时间的SQL事务的话,就不能这样了,因为我的是事务,要在一起完成
    所以这个方法不好
    谢谢
    RE:更何况只要你能在服务器端得到进度,在客户端来获取也不是问题呀
    --------------------------------------------
    我不知道是你对ASP.NET后台和前台的HTML显示理解有问题,还是我有问题,
    在后台还没有执行完成没有回写给客户端的时候,你的“客户端来获取也不是问题啊”
    这个对我来说还真是问题啊
      

  7.   

    ajax+多线程来实现。aspx中
    创建线程发邮件,主线程返回客户端去做ajax查询工作。在线程中,发邮件,每发一封做个计数放在session中。ajax查询session中的发送情况,并显示进度。
      

  8.   

    慕白都出马了 估计也就只能这样了,以前我看过一个 忘记是谁写的了,你可以去搜搜看上传进度条。原理是一样的。
    如果是我自己做,不外乎就是:服务器端处理一条邮件获取一个发送状态,通过ajax传送到客户端。可以过模拟,比如100封邮件,那么你就把整个进度条长度分成100份,然后服务器发送一条就通过ajax传送到客户端,然后进度条100份中就相应的增加其中的1份。
    如果是我来做我也就只能这样做了。
      

  9.   

    “如果我现在不是发邮件而是处理一段很多时间的SQL事务的话,就不能这样了,因为我的是事务,要在一起完成 
    所以这个方法不好 ”原理是一样的撒,就算你是处理事务,你处理完成了才能算这个进度已经完成了撒,就如同软件安装某个步骤安装完成才进度才继续增加撒。估计大不了就是停留端时间。