zoukankan      html  css  js  c++  java
  • SPS中WebPart加缓存

    在企业级应用中,特别是对大数据量,大访问量的系统中,Cache是非常重要的。
    最近一个项目数据量非常之大,访问量也很大,这就要系统应对考验了。加缓存是非常重要的一步
    由于此系统SPS+MCMS开发,做多门户的系统,在SPS中写WEBPART大家都知道吧,但是我相信缓存大家
    可能都没有加过。在网上查了很多资料,都没有找着相关的代码,于是就查其API吧。。
    一看,其实非常简单,而且效率非常之高

    WebPart有一个缓存类Microsoft.SharePoint.Portal.WebControls.CacheableWebPart
    ,直接从该类中派生出来,然后在RenderWebpart时先设置缓存时间,CacheKEY可以设置根据不同的参数来加载不一样的缓存

     1protected override void RenderWebPart(HtmlTextWriter output)
     2{
     3 
     4
     5 this.CacheTimeout=int.Parse(System.Configuration.ConfigurationSettings.AppSettings["CacheTimeOut"]);
     6 //this.CachePerUser=true;   true只对某一用户有效,false 所有用户有效
     7  
     8 if(!RenderCachedOutput(ref output))  //输出缓存,如果不成功的话,就重新加载
     9 {
    10  this.RenderMyWebPart(output); //实际的output内容
    11  StoreCachedOutput(ref output);//加载后将其缓存起来
    12 }

    13}

    14
    15protected override string CacheKey
    16{
    17 get
    18 {
    19  if(Page.Request.QueryString["ChannelPath"]!=null||Page.Request.QueryString["ChannelPath"]!="")
    20  {
    21   return "New"+Page.Request.QueryString["ChannelPath"];
    22  }

    23  return "VidmsCache";
    24 }

    25}

    26
    27
  • 相关阅读:
    堆与堆排序
    利用openssl进行RSA加密解密
    [转载]编辑器圣战
    七月底的小结
    计算机是怎么样工作的?
    Linux进程地址空间之初探:一
    微软2013暑期实习笔试回忆
    微软编程之美资格赛
    微软编程之美初赛
    rootkit:实现隐藏进程
  • 原文地址:https://www.cnblogs.com/jeson/p/443464.html
Copyright © 2011-2022 走看看