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

微网站栏目设置游戏交易平台

微网站栏目设置,游戏交易平台,在虚拟机中如何做二级域名网站,邯郸专业网站建设为了提高网站性能、和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式。实现原理是通过mvc提供的过滤器扩展点实现页面内容的文本保存,直接上代码:…

为了提高网站性能、和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式。

实现原理是通过mvc提供的过滤器扩展点实现页面内容的文本保存,直接上代码:

ExpandedBlockStart.gifView Code
public class StaticFileWriteFilterAttribute : FilterAttribute, IResultFilter
    {
        public void OnResultExecuted(ResultExecutedContext filterContext)
        {

        }

        public void OnResultExecuting(ResultExecutingContext filterContext)
        {
            filterContext.HttpContext.Response.Filter = new StaticFileWriteResponseFilterWrapper(filterContext.HttpContext.Response.Filter, filterContext);
        }

        class StaticFileWriteResponseFilterWrapper : System.IO.Stream
        {
            private System.IO.Stream inner;
            private ControllerContext context;
            public StaticFileWriteResponseFilterWrapper(System.IO.Stream s,ControllerContext context)
            {
                this.inner = s;
                this.context = context;
            }

            public override bool CanRead
            {
                get { return inner.CanRead; }
            }

            public override bool CanSeek
            {
                get { return inner.CanSeek; }
            }

            public override bool CanWrite
            {
                get { return inner.CanWrite; }
            }

            public override void Flush()
            {
                inner.Flush();
            }

            public override long Length
            {
                get { return inner.Length; }
            }

            public override long Position
            {
                get
                {
                    return inner.Position;
                }
                set
                {
                    inner.Position = value;
                }
            }

            public override int Read(byte[] buffer, int offset, int count)
            {
                return inner.Read(buffer, offset, count);
            }

            public override long Seek(long offset, System.IO.SeekOrigin origin)
            {
                return inner.Seek(offset, origin);
            }

            public override void SetLength(long value)
            {
                inner.SetLength(value);
            }

            public override void Write(byte[] buffer, int offset, int count)
            {
                inner.Write(buffer, offset, count);
                try
                {
                    string p = context.HttpContext.Server.MapPath(HttpContext.Current.Request.Path);

                    if (Path.HasExtension(p))
                    {
                        string dir = Path.GetDirectoryName(p);
                        if (!Directory.Exists(dir))
                        {
                            Directory.CreateDirectory(dir);
                        }
                        if (File.Exists(p))
                        {
                            File.Delete(p);
                        }
                        File.AppendAllText(p, System.Text.Encoding.UTF8.GetString(buffer));
                    }
                }
                catch
                { 
                
                }
            }
        }
    }

 

我们的类StaticFileWriteFilterAttribute实现了IResultFilter,这个接口有两个方法,OnResultExecuted和OnResultExecuting,其中OnResultExecuting是在controller中的action代码执行完毕后,但viewresult执行之前(即页面内容生成之前)执行;OnResultExecuted方法是在viewresult执行之后(即页面内容生成之后)执行。

 

我们在页面生成之前将StaticFileWriteResponseFilterWrapper类注册给Response对象的Filter属性,这里使用包装类可以在没有副作用的情况下注入页面内容静态化的代码,对于处理业务逻辑的action是透明的。

 

 

 

 

转载于:https://www.cnblogs.com/xiaoweiyu/archive/2012/01/05/2301806.html

http://www.lbrq.cn/news/2566225.html

相关文章:

  • 张家口建设部网站2023年10月爆发新冠
  • 注册公司代理记账费用朝阳seo建站
  • 电子商务网站建设视频教程最新旅游热点
  • 做网站应该用什么镜像百度排名软件
  • 成都房地产网搜索引擎优化实训
  • 有什么网站可以做java算法免费模板素材网站
  • 自己如何做网站源码百度热线人工服务电话
  • 设计官网论坛苏州关键词优化软件
  • 网站主题制作一键建站
  • 金山区做网站吗优化营商环境个人心得
  • 小猫mip网站建设如何做公司网站推广
  • 小程序做网站百度公司官方网站
  • 福州做网站的个体户电话查询知了seo
  • 工业产品设计流程图百度竞价优化
  • 互联网网站模块广州优化疫情防控举措
  • 利用php做网站教程公司网站建设步骤
  • 网站制作公司武汉网络营销策划案范本
  • 三好街做网站的公司信息流优化师面试常见问题
  • 商业网站备案流程近三年成功的营销案例
  • 做问答的网站线上营销
  • 新疆网站建设介绍谷歌搜索引擎免费入口2022
  • 淘宝哪些做网站关键词排名的有用吗谷歌浏览器怎么下载
  • seo站长工具查询武汉网站排名提升
  • 做二手设备的网站成人再就业培训班
  • 招聘网站做销售营销网站建设都是专业技术人员
  • 武汉专业网站制作设计怎么注册个人网站
  • 做网站需要营业执照嘛外贸网站推广怎么做
  • 门户网站建设厂商名录谷歌代运营
  • 做视频网站容易收录吗郑州网站建设方案
  • 织梦 公司网站模板代做网页设计平台
  • 零基础 “入坑” Java--- 十六、字符串String 异常
  • 【软考中级网络工程师】知识点之级联
  • 基于深度学习的医学图像分析:使用MobileNet实现医学图像分类
  • 轨道追逃博弈仿真
  • 如何优雅删除Docker镜像和容器(保姆级别)
  • 如何理解推理模型