ASP.NET Web Service定时执行任务
1、首先创建 Global.asax文件
点击Web站点>>添加新建项>>全局应用程序类,即可添加Global.asax文件。
Global.asax文件创建后打开默认有以下方法
Application_Start:在程序初始化的时候执行。在Web应用程序的生命周期里就执行一次,这里只能放一些公用的信息,比如HttpApplicationState。
Session_Start:会话开始时执行。
Application_BeginRequest:BeginRequest是在收到Request时第一个触发的事件,这个方法第一个执行。
Application_AuthenticateRequest:当安全模块已经建立了当前用户的标识后执行。
Application_Error:所有没有处理的错误都会导致这个方法的执行
Session_End:会话结束或过期时执行。
Application_End:应用程序结束时,在最后一个HttpApplication销毁之后执行。对应Application_Start,在整个生命周期里面也是只执行一次。
2、创建定时任务 有两种方法 使用Timer或Thread
protected void Application_Start(object sender, EventArgs e)
{//TimerSystem.Timers.Timer myTimer = new System.Timers.Timer();myTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);myTimer.Interval = 60000;//60秒myTimer.Enabled = true;
}protected void Application_End(object sender, EventArgs e)
{WriteInfoLog("Application End!");
}//Timer
private static void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
{WriteInfoLog("定时任务启动");try{//执行方法} catch (Exception ex){WriteInfoLog(ex.Message);}
}
protected void Application_Start(object sender, EventArgs e)
{ //Threadthread = new Thread(new ThreadStart(InOut));thread.Name = "线程名称";thread.Start();
}protected void Application_End(object sender, EventArgs e)
{WriteInfoLog("Application End!");
}//Thread
void InOut()
{while (true){WriteInfoLog("定时任务启动");try{//执行方法}catch (Exception ex){WriteInfoLog(ex.Message);}Thread.CurrentThread.Join(1000 * 180);//阻止180秒}
}
问题:定时任务执行一段时间后就不在执行
原因:IIS的应用程序池回收
解决方法
目前写了BAT,在Windows 的任务计划程序定时执行
//拿谷歌浏览器举例
//使用chrome浏览器访问webservice地址 界面打开后暂停10s 关闭chrome浏览器
@echo off
start chrome.exe http://webservice地址
choice /t 10 /d y /n >nul
taskkill /f /im chrome.exe
这边任务计划程序的创建就不细说了
ASP.NET Web Service定时执行任务相关推荐
- 利用Cache,asp.net 简单实现定时执行任务
利用Cache,让asp.net 简单实现定时执行任务 代码 private static CacheItemRemovedCallback OnCacheRemove = null; protect ...
- 在 Visual Studio 2010 中创建 ASP.Net Web Service
第一步:创建一个"ASP.Net Empty Web Application"项目 第二步:在项目中添加"Web Service"新项目 第一步之后,Visua ...
- java web每天定时执行任务(四步轻松搞定)
第一步: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ...
- java quartz web.xml_quartz定时执行任务,并配置web.xml的操作方法
今天项目上需要做个定时任务,临时学的,quartz的功能还是很强大用起来也方便,这里的demo只是实现每天定时执行一次,其他功能可以在此基础上继续深入学习,哈哈 睡觉,明天继续. 一.maven依赖: ...
- java web 定时_使用监听器实现Java Web的定时执行
1.在web.xml中配置监听器 com.baosight.steeltrade.jk.ws.synds.SynTimerListener 2.定义定时类 package com.baosight.s ...
- ABAP SOAMANAGER暴露的函数function module,以web service方式执行的运行时细节
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
- 使用 .NET 实现 Ajax 长连接 (Part 1 - Comet Web Service)
Ajax的长连接,或者有些人所说的Comet,就是指以XMLHttpRequest的方式连接服务器,连接后服务器并非即时写入相应并返回.服务器会保持连接并等待一个需要通知客户端的事件,该事件发生后马上 ...
- Web站点下的Web Service读取此Web站点中的Session值
在用Ajax:AutoCompleteExtender控件时,碰到自动完成的数据没办法按当前登录用户过滤权限的问题,主要是因为AutoComplete.asmx中自动完成的Method参数是固定的,不 ...
- ASP.NET Web开发技术的深入总结
[IT168技术]在国内.Net开发这个环境里, 中小型公司.或者大公司但主营业务不是软件开发里面的软件小团队.针对.Net开发者的要求都是十项全能型的全才, 能做的了从前台页面展现到最后数据存储的全 ...
最新文章
- WinCE5.0中应用程序如何直接写屏
- 按照linux文件出现的时间来删除文件
- zookeeper的名词复盘-Stat状态信息
- java面向对象的特征二:继承性 —(14)
- Android studio的UI组件
- python 安装pyautogui图形自动化
- 2019女性开发者报告:3成16岁就会编程、JS/Python成女性掌握最多语言
- 基于DEAP库的python进化算法-6.遗传算法中的约束处理
- 改完计算机名自动重启 vbs,ghost后自动修改IP和计算机名的VBS脚本
- bo耳机h5使用说明_五分钟了解Bamp;O耳机音箱能不能买
- linux修改中国时区
- sudo: no valid sudoers sources found,quitting sudo sudoers改坏后无法使用sudo的解决办法
- php满一百人随机发放奖品,php按照奖品百分比随机抽奖 阿星小栈
- tensorflow代码翻译成pytorch代码 -详细教程+案例
- linux屏幕怎么暗一点,Ubuntu 12.10 调节屏幕亮度经验分享
- 精挑细选的原创公众号,你值得拥有
- STM32系列——手把手教你蓝牙模块HC05、HC06的使用,重在“用起来”(HAL库)
- 答案原文及理解解释《解析解释守株待兔死脑筋,旁门左道不正规是什么》什么意思含义
- 水星UD6S网卡Linux驱动,水星UD6S无线网卡驱动(修复水星UD6S无线网卡连接异常问题)V1.0 免费版...
- 截获网易云、酷狗、QQ音乐播放器桌面歌词画面心德
热门文章
- pandas练习_同期群分析(Cohort Analysis)
- origin与matlab 双向联合数据处理
- navicat premium 15 下载安装详细教程
- 北京工商专修学校计算机学院院长,北京工商大学计算机学院
- 爬取京东图书商品信息
- oracle database各个版本地址
- 我的世界斗罗封神服务器怎么注册,我的世界斗罗封神服务器-我的世界斗罗封神mod手机版v1.17.2.01-游戏宝手游网...
- R语言:填色等值线图及其色标(color bar)设置
- python自动化办公:excel篇,从此做表不加班。
- caj文献里的参考文献拷贝到word中格式错乱问题