zoukankan      html  css  js  c++  java
  • OutputCache 导致页面下载的解决办法

    Asp.Net 中的 OutputCache  非常的有用,但是加上后,老是碰见浏览器下载页面的情况,让人十分费解。最后,在 search 了半天后,发现的解决方案都是加上 VaryByHeader="Content-Type"  这个。但是加上之后,发现不起作用,还仍然会下载。

     

    最后,再请教dudu 之后,给出了一个很完美的解决方案,该解决方案就是重写 Global.asax 中的 Application_BeginRequest 方法,判断页面类型,如果为 "text/vnd.wap.wml" ,则不缓存页面,经过高访问量的测试,这个方法是可靠可行的,没有性能问题的,可以放心大胆的使用

     

    代码:

     

     

    protected void Application_BeginRequest(Object sender, EventArgs e)

    {

    //use outputcache

    string acceptTypes = Request.Headers["Accept"];

    if(!string.IsNullOrEmpty(acceptTypes)&&acceptTypes.ToLower().Contains("text/vnd.wap.wml"))

    {

    Response.Cache.SetCacheability(HttpCacheability.NoCache);

    }

    }

     

    使用上之后,服务器的 CPU 占用,立即降低下来了,下面备注下使用 OutPutCache 的好处:直接从内存读页面,页面响应速度更快,用户体验更好;大大的降低了服务器的压力,特别是对于高并发的网站,特别是 CPU 的压力;减少了 DB 的强求,降低 DB(数据库)的压力。

     

    以上就是  OutputCache 导致页面下载的解决办法,如果对你有所帮助,请留言或点击推荐

     


  • 相关阅读:
    Solr的中英文分词实现
    乐观锁与悲观锁
    Keepalived + nginx实现高可用性和负载均衡
    Heartbeat实现集群高可用热备
    mongoDB 使用手册
    LVS+keepalived负载均衡
    keepalived工作原理和配置说明
    微信设置URL之WebApi方式
    RabbitMQ Windows下安装问题解决
    JSOM 中对各种字段操作
  • 原文地址:https://www.cnblogs.com/xunziji/p/2090678.html
Copyright © 2011-2022 走看看