zoukankan      html  css  js  c++  java
  • 用Response.Filter生成静态页

    我原来写的利用UrlRewrite,asp.net动态生成htm页面(补充说明2) ,生成静态页面时,使用下边的代码

    Code

    上边的这个类在生成静态页的时候,如果.net解析代码时,遇到错误,它依然会生成一个静态页面,而且这个静态页面在程序运行结束的时候,还处于打开状态。
    显然这是我们不愿意看到的,而且这个类还不支持并发操作,如果和某一页面的关联的静态页失效了,假定这时候有两个用户同时访问这个页面,其中一个用户正在向静态页面写入数据,另外一个用户却需要访问这个已被别人打开的页面,系统同样会出现错误。基于这两个问题,我把这个类修改成下边的样子,就可以解决上述问题了。
    Code

    修改的地方是构造函数和这个方法(public override void Write(byte[] buffer, int offset, int count)),调用的方法分为两种,一种是在页面级别的调用,示例如下:
        protected override void OnInit(EventArgs e)
        
    {
            
    if (!this.IsPostBack)
            
    {
                
    string filePath = this.Server.MapPath(Common.AppName) + "\\index.htm";
                Response.Filter 
    = new AspNetFilter(Response.Filter, filePath);
            }

            
    base.OnInit(e);
        }

    重写Page类的OnInit方法,另外一种调用方法参考我写的利用UrlRewrite,asp.net动态生成htm页面(补充说明2
  • 相关阅读:
    postfix队列管理
    fdisk添加磁盘
    postfix日志分析pflogsumm
    ioctl接口内容操作
    linux 路由表设置 之 route 指令详解
    手把手教你用 Strace 诊断问题
    rtsp学习----海康RTSP客户端连接深入分析
    栈回溯技术
    objdump命令
    linux中的strip命令简介------给文件脱衣服
  • 原文地址:https://www.cnblogs.com/fengfeng/p/1072505.html
Copyright © 2011-2022 走看看