asp.net web 定时执行任务 定时器 Global.asax
web网站里面,需要每隔1分钟,执行一个任务,并且一直保持这个定时执行状态,可以用如下一个方法:
以下代码是 Global.asax.cs 的全部代码。
using System;
using System.Xml; namespace Web.SSART.Site
{
public class Global : System.Web.HttpApplication
{ protected void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
TimeTask.Instance().ExecuteTask += new System.Timers.ElapsedEventHandler(Global_ExecuteTask);
TimeTask.Instance().Interval = 10000 * 10;//表示间隔
TimeTask.Instance().Start();
}
void Global_ExecuteTask(object sender, System.Timers.ElapsedEventArgs e)
{
//在这里编写需要定时执行的逻辑代码 XmlDocument xmldoc = new XmlDocument();
XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmldoc.AppendChild(xmlnode);
XmlElement xmlelem = xmldoc.CreateElement("", "urlset", "");
xmldoc.AppendChild(xmlelem);
//加入另外一个元素
for (int i = 1; i < 4; i++)
{
XmlNode root = xmldoc.SelectSingleNode("urlset");
XmlElement xe1 = xmldoc.CreateElement("url" + i);
XmlElement xesub1 = xmldoc.CreateElement("loc");
xesub1.InnerText = "http://www.ssart.net/news/news_16702.html";
xe1.AppendChild(xesub1); XmlElement xesub2 = xmldoc.CreateElement("lastmod");
xesub2.InnerText = DateTime.Now.ToString();
xe1.AppendChild(xesub2); XmlElement xesub3 = xmldoc.CreateElement("changefreq");
xesub3.InnerText = "always";
xe1.AppendChild(xesub3); XmlElement xesub4 = xmldoc.CreateElement("priority");
xesub4.InnerText = "always";
xe1.AppendChild(xesub4); XmlElement xesub5 = xmldoc.CreateElement("data"); XmlElement xesub6 = xmldoc.CreateElement("display"); XmlElement xesub7 = xmldoc.CreateElement("xhtml_url");
xesub7.InnerText = "always";
xesub6.AppendChild(xesub7); xesub5.AppendChild(xesub6); xe1.AppendChild(xesub5); root.AppendChild(xe1);//添加到<Employees>节点中
} //保存创建好的XML文档
xmldoc.Save("d://data.xml");
} protected void Session_Start(object sender, EventArgs e)
{ } protected void Application_BeginRequest(object sender, EventArgs e)
{ } protected void Application_AuthenticateRequest(object sender, EventArgs e)
{ } protected void Application_Error(object sender, EventArgs e)
{ } protected void Session_End(object sender, EventArgs e)
{ } protected void Application_End(object sender, EventArgs e)
{ } } //创建一个定时器的类
public class TimeTask
{
public event System.Timers.ElapsedEventHandler ExecuteTask; private static readonly TimeTask _task = null;
private System.Timers.Timer _timer = null; //定义时间
private int _interval = 60000; public int Interval { set; get; } static TimeTask()
{
_task = new TimeTask();
} public static TimeTask Instance()
{
return _task;
} //开始
public void Start()
{
if (_timer == null)
{
_timer = new System.Timers.Timer(_interval);
_timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed);
_timer.Enabled = true;
_timer.Start();
}
} protected void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (null != ExecuteTask)
{
ExecuteTask(sender, e);
}
} //停止
public void Stop()
{
if (_timer != null)
{
_timer.Stop();
_timer.Dispose();
_timer = null;
}
} } }
asp.net web 定时执行任务 定时器 Global.asax的更多相关文章
- 基于ASP.NET MVC定时执行任务调度
相对FluentScheduler实现定时调度任务的使用简单,配置少的特点,Quartz.Net则配置稍微复杂一些.下面我们就接合一个 ASP.NET MVC网站应用程序的定时执行任务调试的小实例来了 ...
- Web定时执行某个方法-网页获取
实现该功能用到的是System.Timers.Timer 将定时的方法添加到Global.ascx.cs中 public class Global : System.Web.HttpApplicati ...
- 在ASP.Net MVC 中,如何在Global.asax中配置一个指向Area内部的默认Route
ASP.Net MVC 中配置Route的时候可以设置一个默认的Route. 比如我要在输入http://localhost的时候默认进入http://localhost/home/index.可以在 ...
- ASP.NET Global.asax详解
最近在研究bbsmax的代码,但是一直不知道入口在哪里,然后就对各个文件分析了,然后终于在对global.asax文件查看的时候看到Application_BeginRequest才明白入口,所以现在 ...
- ASP.NET Global.asax详解【转】
global.asax是一个文本文件,它提供全局可用代码.这些代码包括应用程序的事件处理程序以及会话事件.方法和静态变量.有时该文件也被称为应用程序文件. global.asax 文件中的任何代码都是 ...
- ASP.NET:Global.asax
ylbtech-.Net-ASP.NET:Global.asax 1.返回顶部 1. 一.定义:Global.asax 文件(也称为 ASP.NET 应用程序文件)是一个可选的文件,该文件包含响应 A ...
- ASP.NET Web Api
1.参考资料 Routing in Asp.NET Web Api: http://www.asp.net/web-api/overview/web-api-routing-and-actions/r ...
- .net Timer定时执行
System.Timers.Timer可以实现数据库定时更新的功能 Global.asax void Application_Start(object sender, EventArgs e) { / ...
- Asp.Net Web Forms/MVC/Console App中使用Autofac
本来简单介绍了Autofac在Asp.Net Web Forms中的应用,后来又添加了mvc.控制台应用程序中使用Autofac,详情请看源码. ASP.NET Web Forms使用Autofac, ...
随机推荐
- PHP7做了哪些优化
一 zval使用栈内存 在Zend引擎和扩展中,经常要创建一个PHP的变量,底层就是一个zval指针.之前的版本都是通过MAKE_STD_ZVAL动态的从堆上分配一个zval内存.而PHP7可以直接 ...
- WPF相关UI库
免费控件库: 1.Extended WPF Toolkit 官方拓展控件 http://wpftoolkit.codeplex.com/ 2.avalondock 可停靠布局(wpf toolkit包 ...
- 部署Go语言程序的N种方式
部署Go语言项目 本文以部署 Go Web 程序为例,介绍了在 CentOS7 服务器上部署 Go 语言程序的若干方法. 独立部署 Go 语言支持跨平台交叉编译,也就是说我们可以在 Windows 或 ...
- Keepalived服务详解
1. VRRP协议 1.1 VRRP协议概述 VRRP协议的出现是为了解决静态路由的单点故障,它是通过一种竞选机制来将路由任务交给某个vrrp路由器的 在VRRP物理结构中,有多个物理的VRRP路由器 ...
- spring cloud微服务快速教程之(十四)spring cloud feign使用okhttp3--以及feign调用参数丢失的说明
0-前言 spring cloud feign 默认使用httpclient,需要okhttp3的可以进行切换 当然,其实两者性能目前差别不大,差别较大的是很早之前的版本,所以,喜欢哪个自己选择: 1 ...
- 刷题[FBCTF2019]Event
解题思路 信息收集 打开发现是这样的登陆框,信息泄露,弱口令什么的尝试一下,无果,正常注册登陆 发现需要通过admin用户登陆,并且发现有/flag这样的路由,猜测后台为python编写 抓包发现有看 ...
- E-Form++ for Windows CE源码库2020,嵌入式开放源码!
E-Form++ for Windows CE源码库2020! 现在就把这个下载到您的Windows CE中,体验极致HMI触摸. Windows CE评估版下载! 1. E-Form++ for ...
- 【Java并发编程】面试常考的ThreadLocal,超详细源码学习
目录 ThreadLocal是啥?用来干啥? ThreadLocal的简单使用 ThreadLocal的实现思路? ThreadLocal常见方法源码分析 ThreadLocal.set(T valu ...
- Python+selenium+unittest实现网址登陆及页面跳转校验
这个网址登陆的单元测试代码都写在一个文件中,方便初学者查看和调试:实际测试工作中根据情况进行模块化处理. 话不多说,分布上代码 一.import必要模块 二.创建测试类,初始化测试环境 三.定义登陆方 ...
- IIS网站建立好后如何更改绑定IP或端口号
写在前面的话 我们利用IIS建立网站的时候,一般都是设定好网站名称和物理地址,直接下一步建立完成了.正常访问都没问题,但如果我们这时候想要更改访问的IP或者端口号,打开了很多设置项就是没找到设置的地方 ...