当前位置: 首页 > news >正文

在ASP.NET中模拟Windows服务运行计划任务

导言

     ASP.NET如何在不依赖Windows服务的情况下运行计划任务呢?我们常常需要执行一些维护任务或计划任务,例如在网站上向用户发送提醒邮件等。ASP.NET并不能持续运行一段程序或计划任务,我们可以利用Windows服务来运行计划任务或时钟守护工作。但是,在虚拟主机上我们并不能部署Windows服务,或许你可以购买专用主机来实现这个功能,不过这对普通用户来说太奢侈了。计划任务能帮助我们向用户发送提醒邮件,向管理员发送维护报告,执行清理操作等,是一个非常方便的功能,我会向大家展示一个微妙的方法来执行计划任务,只使用ASP.NET而不需要依赖Windows服务。该解决方案能运行在任何虚拟主机上,无需购买专门的服务器。

如何运作

     首先我们需要能在ASP.NET中持续运行并执行回调的对象。IIS服务器是持续运行的,我们需要它频繁回调,来查看列队中是否有任务需要执行。服务器在一下情况执行回调。

  • 一个网页被访问时
  • Application启动时
  • Application停止时
  • Session启动、结束或超时时
  • Cache项目超时时

     网页被访问是随机的,如果没有人访问网页,等待执行的工作可能永远不被执行。此外,访问请求的时间很短,而且需要尽快完成。如果在此时执行计划任务,被访问的页面需要很长的时间才能显示出来,这会导致不良的用户体验。显然,这个方案并不太好。

转载于:https://www.cnblogs.com/jesonray/archive/2009/02/27/1399849.html

相关文章:

  • [导入]C#面向对象设计模式纵横谈(10):Decorator 装饰模式(结构型模式).zip(9.84 MB)...
  • 调试发行版程序 (一)
  • MOSS母板页中的PlaceHolder
  • C#正则表达式经典分类整理集合手册
  • 手机软件设计大赛报名信息
  • 1.下面三个表是DOM处理xml文件里可能用到的属性和方法。
  • 上传文件至sharepoint
  • 香干炒肉丝
  • 忽然发现自己少了很多爱好。。。。。。。。。
  • Session服务器配置指南与使用经验
  • 验证 网址,IP,邮箱,电话,手机,数字,英文,日期,身份证,邮编
  • 在建立与服务器的连接时出错
  • 如何计算应缴个人所得税? 使用SQL,理解SQL
  • 计算机核心期刊排名及投稿信息
  • JScript中的parseInt方法
  • 收藏网友的 源程序下载网
  • [译]如何构建服务器端web组件,为何要构建?
  • 【Leetcode】104. 二叉树的最大深度
  • Go 语言编译器的 //go: 详解
  • Making An Indicator With Pure CSS
  • spring boot 整合mybatis 无法输出sql的问题
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Tornado学习笔记(1)
  • VuePress 静态网站生成
  • windows下mongoDB的环境配置
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端代码风格自动化系列(二)之Commitlint
  • 什么软件可以剪辑音乐?
  • 手机app有了短信验证码还有没必要有图片验证码?
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (5)STL算法之复制
  • (Python) SOAP Web Service (HTTP POST)
  • (分布式缓存)Redis分片集群
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (四)Controller接口控制器详解(三)
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .CSS-hover 的解释
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net 反编译_.net反编译的相关问题
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET下ASPX编程的几个小问题
  • [Android]Android开发入门之HelloWorld
  • [Angular] 笔记 6:ngStyle
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
  • [Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包
  • [iOS]iOS获取设备信息经常用法
  • [Latex学习笔记]数学公式基本命令
  • [leetcode]_String to Integer (atoi)