当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET(C#) 定时执行一段代码

ASP.NET
关于如何操作其他窗体的控件或变量的方法
一个简单的.net remoting客户端例子
System.Runtime.Remoting.Activation.ActivationServices.CreateInstance()
单点登录—演示:passport.winspace.net
WebSerivce研究笔记
[新]可精确到1毫秒的用以在记录文件中写入自定义的调试信息(主要是时间)的组件
vs.net 2005中文版下载地址收藏
VS2005Beta2安装几点经验和体会
一个Web文件上传的C#源代码
C#重点知识详解(一)
利用C#线程机制实现应用程序的单实例运行
C#重点知识详解(二)
c#重点知识详解(三)
c#重点知识详解(四)
c#重点知识解答(五)
c#重点知识详解(六)
通过命令行方式使用NUnit进行UT
程序控制开始菜单的弹出 C#
XSL、XML教程-DVBBS皮肤制作 最基本的语法
MapX从数据库读取数据形成新图层(C#)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 78 ::
收藏到网摘: n/a

在Global.asax启动一条线程就ok了,下面是启动线程定时写文件的例子. Global.asax
C# code
复制代码 代码如下:

<%@ 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>