Url地址重写,利用HttpHander手工编译页面并按需生成静态HTML文件

很多朋友可能都讨论过ASP.NET中生成HTML的方法了,有按照模板用IO方法写文件有在404错误页面内生成HTML的,有在Render内保存页面输出到HTML文件的。今天我发一个配合Url重写利用HttpHander手工编译.aspx页面方法。HTML文件的方法,可按需、“定时”的生成,以减轻数据库的访问。

声明:下面的文字是本文不可缺少的部分,转载请保留,谢谢!
////////////////////////////////////////////////////
作者:武眉博<活靶子.NET>
同时首发于:
    
落伍者   && 博客园  
    
开发者学院   && .Net男孩社区
知识点:UrlRewriteIHttpModuleIHttpHander 的编写效果:
http://www.devedu.com/Doc/DotNet/AspNet/default.2.aspx
http://www.devedu.com/Doc/DotNet/AspNet/default.2.html
思路:
1 挂载“.aspx"的请求到自定义的Httphander内
2 配置URL重写规则
3 访问某.aspx文件时,在HttpHander内 根据配置确定是否应该生成
 接着...

if(需要生成)
{
    
if(若已经生成html文件 )
    {
        
if(文件并未过期)
        {
            则直接定向(Server.Transfer())。
        }
        
else
        {
            删除HTML文件;
            重新编译.aspx(Page内数据库操作等等)
            生成HTML文件;
        }
    }
    
else if(尚未生成文件)
    {
        生成Html。
    }
}
else
{
    则编译.aspx文件
}

 

另:建议阅读一下dudu的blog中关于asp.net页面编译的讨论
http://www.cnblogs.com/dudu/archive/2006/03/07/345107.html
http://www.cnblogs.com/dudu/archive/2006/03/07/344351.html

部分代码

C#代码

 

Code

 

 

示例项目下载:下载

posted @ 2008-11-04 20:50  SealedLove  阅读(379)  评论(0编辑  收藏  举报