zoukankan      html  css  js  c++  java
  • 卷土重来之staticHtml基础使用教程

    前段时间发布了一个asp.net生存html缓存的东西,老实说坑了蛮多的人,bug比较多, 经过这段时间的测试与改进,应该到了可以使用的地步了,

    欢迎大家测试与使用,下面我介绍使用教程,对了,这里感谢一下猴子,他帮我测试了很多。

    首先请将StaticHtml.dll添加引用,或者拷贝到bin目录中,下面是具体配置说明

    注意:下面的配置步骤都是在web.config中操作。

    1. 添加StaticHtml配置文件读取节点

    在configuration/configSections添加如下节点

    <section name="staticHtml" type="StaticHtml.StaticHtmlSection,StaticHtml"/>

    添加StaticHtml

    2. 添加HttpModule

    在configuration/system.web/httpModules中,添加

    <add name="staticHtml" type="StaticHtml.HttpModule,StaticHtml"/>

    如果这样配置,用浏览器访问任意一个页面,如果根目录下没有生成staticHtml_log.txt这个文件,请将上面的节点,添加到configuration/system.webServer/httpModule中

    当然,请确保你服务器能正确加载httpmodule,因为有可能你的服务器配置,根本就不能加载任何httpmodule。请参考asp.net mvc配置

    3. 配置自己站点的生成缓存规则

    在configuration中添加如下节点

    <staticHtml skip="admin/" run="on">

    <rule name=" index ">

    <patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=index .aspx"/>

    <store type="StaticHtml.MemStore,StaticHtml"/>

    <genKey type="StaticHtml.UrlMd5GenKey,StaticHtml"/>

    <expire type="StaticHtml.TimeExpire,StaticHtml"  pars="Second=300"/>

    </rule>

    <rule name="content">

    <patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=article/"/>

    <store type="StaticHtml.FileStore,StaticHtml" pars="Path=cacheHtml_article/"/>

    </rule>

    </staticHtml>

    上面的配置,定义了2个规则,

    第一个规则,

    <rule name=" index ">

    <patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=index. aspx "/>

    <store type="StaticHtml.MemStore,StaticHtml"/>

    </rule>

    规则,这个规则的名字叫做index,

    patten节点 如果url中匹配index. aspx 这个正则表达式,则缓存。

    store节点 将缓存的html保存到内存中

    genKey 节点 将request.rawRul通过md5加密生成key,在statichtml非常重要,代表了一个唯一的缓存页面,

    expire节点 意味着缓存300秒(5分钟)

    第二个规则

    <rule name="content">

    <patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=article/"/>

    <store type="StaticHtml.FileStore,StaticHtml" pars="Path=cacheHtml_article/"/>

    </rule>

    这个规则的名字叫做content(规则名字不能重复)

    patten 节点 如果url中匹配article/这个正则表达式的,就缓存

    store节点 将缓存的保存到根目录下面/cacheHtml_article中

    StaticHtml节点 skip属性 admin/ 代表如果url能匹配这个正则表达式,则不缓存。

    提示:staticHtml节点skip 属性,patten节点的 pars属性, 都是可以配置正则表达式的, 就是一个纯粹的正则表达式,可以写的很复杂,也可以很简单。

    4. 其他补充

    1:下篇文字我将详细介绍如何扩展statichtml

    2:下载statichtml.dll(这是最新版,使用gzip压缩存储,大大减少磁盘占用,网站流量。)

    3:源码还是在github上https://github.com/tianqiq/StaticHtml

    4:经网友测试发现,在4.0,4.5 .net上会出现刷新后,就空白的情况。所以请将项目的.net版本设置为3.5,即可。(真没想到这么多童鞋是用4.0甚至4.5了)

     

    更新:

    现在已经修复4.0以上刷新后,空白的情况, 欢迎测试与使用。(2013/7/21)

    代码已经更新到github上, 请从这里下载最新dll http://url.cn/H5TSeH

  • 相关阅读:
    PE格式详细讲解10 系统篇10|解密系列
    复杂的数据类型1 C++快速入门07
    复杂的数据类型2 C++快速入门08
    复杂的数据类型2 C++快速入门08
    复杂的数据类型1 C++快速入门07
    PE格式详细讲解10 系统篇10|解密系列
    Win32基础知识1 Win32汇编语言002
    开题篇 Win32汇编语言001
    开题篇 Win32汇编语言001
    Win32基础知识1 Win32汇编语言002
  • 原文地址:https://www.cnblogs.com/tianqiq/p/3162995.html
Copyright © 2011-2022 走看看