ASP.NET 定时执行一段代码

在Global.asax启动一条线程就ok了,下面是启动线程定时写文件的例子

Global.asax
C# code
  
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <% @ Application Language = " C# " %>
<% @ Import Namespace = " System.IO " %>
<% @ Import Namespace = " System.Threading " %>
< script runat = " server " >
string LogPath;
Thread thread;
void WriteLog()
{
while ( true )
{
StreamWriter sw
= new StreamWriter(LogPath, true , Encoding.UTF8);
sw.WriteLine(thread.Name
+ " : " + DateTime.Now.ToString());
sw.Close();
Thread.CurrentThread.Join(
1000 * 60 ); // 阻止1分钟
}
}
void Application_Start( object sender, EventArgs e)
{
LogPath
= HttpContext.Current.Server.MapPath( " log.txt " );
// 在应用程序启动时运行的代码
thread = new Thread( new ThreadStart(WriteLog));
thread.Name
= " 写登录日志线程 " ;
thread.Start();
}

void Application_End( object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码

}

void Application_Error( object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码

}

void Session_Start( object sender, EventArgs e)
{
// 在新会话启动时运行的代码

}

void Session_End( object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式
// 设置为 StateServer 或 SQLServer,则不会引发该事件。

}

</ script >

你可能感兴趣的:(asp.net)