Web定时任务

想在Web中定时 处理某些任务吧?
可以在Global.asax 中定义,直接上例子:
<script runat="server">
    void Application_Start(object sender, EventArgs e)
    {
      
       // 应用程序启动时
       System.Timers.Timer timer = new System.Timers.Timer();
       DateTime sTime = DateTime.Now;
       int sHour = sTime.Hour;
       int sMin = sTime.Minute;
       int sSecond = sTime.Second;
       int sHourInterval = 15 - sHour;
       int sSecondInterval = sHourInterval * 60 * 60 * 1000;
       //timer.Interval = 1000*5;//5秒发送一次
       timer.Interval = sSecondInterval;
       //timer.AutoReset;
       timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
       timer.Enabled = true;

    }
    void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        string s_from = "fengsheng@xxx.com";
        string s_to = "fengsheng@xxx.com";
        string pwd = "1234567";
        string s_body = "test";
        string s_smtp = "mail.xxx.com";
        int i = s_from.IndexOf("@");
        string s_subjetc = "test";
        string username = s_from.Substring(0, i);
        System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress(s_from);
        System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress(s_to);
        System.Net.Mail.MailMessage mailobj = new System.Net.Mail.MailMessage(from, to);
        mailobj.Subject = s_subjetc;
        mailobj.Body = s_body;

        mailobj.IsBodyHtml = true;
        mailobj.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");
        mailobj.Priority = System.Net.Mail.MailPriority.High;
        System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
        smtp.Host = s_smtp;
        smtp.UseDefaultCredentials = true;
        smtp.Credentials = new System.Net.NetworkCredential(username, pwd);
        smtp.Send(mailobj);
    }
</script>
上面 是一个定时发邮件的小例子,一举两得,还给大家了一个发邮件的例子 ,呵呵
建议最好是把需要启动的事项 做成 web Service 这样 应用范围会更广~

 

posted on 2009-11-18 11:11  天涯人  阅读(294)  评论(0编辑  收藏  举报

导航