想实现这样的效果:1、用户最后一次登录时间满一个月,给用户发邮件,提醒回站看看。2、定时发送一封邮件
第一个可以每天某个时间或者每隔某段时间扫描帐号发送邮件,第2个怎么实现啊?或者第一个有没有好的方法

解决方案 »

  1.   

    定时器的Elapsed里去判断是否符合发送邮件的情况,如果符合就执行发邮件的方法,发邮件的方法要是不会搜一下吧
      

  2.   


    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.Security;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Timers;
    using System.Threading;
    using System.Net;
    using System.IO;namespace 定时服务测试
    {
        public class Global : System.Web.HttpApplication
        {
            protected void Application_Start(object sender, EventArgs e)
            {
                
                //定义定时器
                System.Timers.Timer myTimer = new System.Timers.Timer(60000);//半小时执行一次
                myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
                myTimer.Enabled = true;
                myTimer.AutoReset = true;
            }
            void myTimer_Elapsed(object source, ElapsedEventArgs e)
            {
                try
                {
                    Log.Log_add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":AutoTask is Working!");
                    YourTask();
                }
                catch (Exception ee)
                {
                    Log.Log_SaveException(ee);
                }
            }
            void YourTask()
            {
                //在这里写你需要执行的任务        }
            protected void Application_End(object sender, EventArgs e)
            {
                Log.Log_add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":Application End!");
                //下面的代码是关键,可解决IIS应用程序池自动回收的问题
                Thread.Sleep(1000);
                //这里设置你的web地址,可以随便指向你的任意一个aspx页面甚至不存在的页面,目的是要激发Application_Start
                string url = "Default.aspx";
                HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
                HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
                Stream receiveStream = myHttpWebResponse.GetResponseStream();//得到回写的字节流
            }        protected void Session_Start(object sender, EventArgs e)
            {        }        protected void Application_BeginRequest(object sender, EventArgs e)
            {        }        protected void Application_AuthenticateRequest(object sender, EventArgs e)
            {        }        protected void Application_Error(object sender, EventArgs e)
            {        }        protected void Session_End(object sender, EventArgs e)
            {        }       
        }
    }是网上找的~用的委托 不是很理解