1. //在项目里添加一个"全局应用程序类(Global Application Class)",在里面写这样的代码:
  2. public class Global : System.Web.HttpApplication
  3. {
  4. static Timer BuildStaticPagesTimer;
  5. static object locker = new object();
  6. static int count;
  7. protected void Application_Start(object sender, EventArgs e)
  8. {
  9. //double check lock...
  10. if (BuildStaticPagesTimer == null)
  11. {
  12. lock (locker)
  13. {
  14. if (BuildStaticPagesTimer == null)
  15. {
  16. //every 20 minutes, run BuildStaticPagesTimer_Callback in every 20 minutes
  17. BuildStaticPagesTimer = new Timer(BuildStaticPagesTimer_Callback, null, 0, 20 * 60 * 1000);
  18. }
  19. }
  20. }
  21. }
  22. private static void BuildStaticPagesTimer_Callback(object state)
  23. {
  24. Dictionary<string, string> urlsNeedToBuild = GetPagesNeedToBuiltStatic();
  25. foreach (string oldUrl in urlsNeedToBuild.Keys)
  26. {
  27. string newUrl = urlsNeedToBuild[oldUrl];
  28. Build(oldUrl, newUrl);
  29. }
  30. }
  31. private static void Build(string oldUrl, string newUrl)
  32. {
  33. //在这里写生成静态页面的代码
  34. throw new NotImplementedException();
  35. }
  36. private static Dictionary<string, string> GetPagesNeedToBuiltStatic()
  37. {
  38. //在这里判断哪些页面需要生成静态页面
  39. throw new NotImplementedException();
  40. }
  41. }

asp.net配置全局应用程序类 巧妙达到定时生成静态页面的更多相关文章

  1. Asp.net 生成静态页面

    http://www.cnblogs.com/tonycall/archive/2009/07/18/1526079.html Asp.net 生成静态页面(简单用法) 第一次发表,有什么错误,请大家 ...

  2. WPF 10天修炼 第三天- Application全局应用程序类

    Application对象 当一个WPF应用程序启动时,首先会实例化一个全局唯一的Application对象,类似于WinForm下的Application类,用于控制整个应用程序,该类将用于追踪应用 ...

  3. 全局应用程序类(Global.asax)

     注:该部分参考的园区的“积少成多”的 <ASP.NET MVC中的Global.asax文件> . 1.Global.asax文件介绍 global.asax这个文件包含全局应用程序事件 ...

  4. ASP.NET MVC生成静态页面

    1.先付上封装好生成静态页的原代码: public class Common { #region 获取模板页的Html代码 /// <summary> /// 获取页面的Html代码 // ...

  5. Application全局应用程序类

    当一个WPF应用程序启动时,先会实例化一个全局的唯一的Application.如果开发人员熟悉Windows Form编程,会知道在SystemWindowsForm命名空间中有一个Applicati ...

  6. asp.net脚本获取不到id,服务器控件id生成html页面id控制

    在配置文件里修改id的生成方式.经过搜索发现是因为使用Sharpmap而在Web.config中加入的一句配置造成的影响. <pages controlRenderingCompatibilit ...

  7. asp.net获取当前页面源码并生成静态页面

    StringWriter stringWriter = new StringWriter(); HtmlTextWriter htmlWriter = new HtmlTextWriter(strin ...

  8. 微信小程序(六) 文章详情静态页面detail

    文章详情静态页面detail:

  9. ASP.NET MVC 解析模板生成静态页一(RazorEngine)

    简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是ASPX模板引擎,Razor在语法上的确不错,用起来非常方便,简洁的语法 ...

随机推荐

  1. Laya 中缩放的实现

    Laya 缩放功能的实现 在 laya 中实现滚轮对选中对象的缩放,涉及到以下两个模块: 事件 容器坐标 1. 事件 在 Laya 中, Event 是事件类型的集合.包含了常见的鼠标事件.键盘事件. ...

  2. 无重复字符的最长子串[双指针+哈希表] LeetCode.3

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  3. 逆向破解之160个CrackMe —— 016

    CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  4. SpringBoot:处理跨域请求

    一.跨域背景 1.1 何为跨域? Url的一般格式: 协议 + 域名(子域名 + 主域名) + 端口号 + 资源地址 示例: https://www.dustyblog.cn:8080/say/Hel ...

  5. git 导出新修改的文件

    git archive -o update.zip HEAD $(git diff --name-only HEAD)

  6. python 11 迭代器

    目录 1. 第一类对象的特点 2. 格式化 3.迭代器 3.1 可迭代对象 3.2 迭代器 4. 递归 1. 第一类对象的特点 #1. 函数名可以当作值被赋值给变量 def func(): print ...

  7. RabbitMQ新建交换机、队列、交换机和队列绑定

    新建交换机: 1.登录你要配置的交换机地址: 2.选择exchange,下拉选择add a new exchange 3.点击add exchange.完成 新建队列: 1.选择queues: 2.下 ...

  8. HDU 6044

    题意略. 思路: I.对于整个区间a1,....,an,必然有一个区间[1,n]与之对应,因为a1,...,an是1,...,n的一个排列,所以在[1,n]中定然有一个最小的数字1, 如果最大的区间[ ...

  9. JUC包实现的同步机制,原理以及简单用法总结

    除了用Synchronized关键字修饰同步块,让线程获取某对象的锁实现多线程操作共享变量的同步外,还可以使用java.util.concurrent包.并且,juc包机制下的同步更灵活.juc包的所 ...

  10. ssh延迟加载问题的解决方案

    1. 什么是延迟加载问题 ? 业务层查询的数据 关闭session 之后...web层获取延迟加载的数据失败. 例如:查询订单没有查询客户,需要显示客户,session已经关闭,无法查询 2. 如何解 ...