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 这样 应用范围会更广~