在Global.asax启动一条线程就ok了,下面是启动线程定时写文件的例子
Global.asax
C# code
1
<%@ Application Language="C#" %>2
<%@ Import Namespace="System.IO" %>3
<%@ Import Namespace="System.Threading" %>4
<script runat="server">5
string LogPath;6
Thread thread;7
void WriteLog()8
{9
while (true)10
{11
StreamWriter sw = new StreamWriter(LogPath, true, Encoding.UTF8);12
sw.WriteLine(thread.Name + ":" + DateTime.Now.ToString());13
sw.Close();14
Thread.CurrentThread.Join(1000 * 60);//阻止1分钟15
}16
}17
void Application_Start(object sender, EventArgs e)18
{19
LogPath = HttpContext.Current.Server.MapPath("log.txt");20
//在应用程序启动时运行的代码21
thread = new Thread(new ThreadStart(WriteLog));22
thread.Name = "写登录日志线程";23
thread.Start();24
}25
26
void Application_End(object sender, EventArgs e)27
{28
//在应用程序关闭时运行的代码29

30
}31
32
void Application_Error(object sender, EventArgs e)33
{34
//在出现未处理的错误时运行的代码35

36
}37

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

42
}43

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

51
}52
53
</script>54


浙公网安备 33010602011771号