分享

ASP.NET(C#) 定时执行一段代码

 悟静 2011-02-02

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

Global.asax

  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> 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多