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
  • 相关阅读:
    vim 乱码问题的方法参考
    Node.js的原型继承函数 util.inherits
    UML类图画法及其之间的几种关系
    repo 小结
    Js_Eval方法
    Js_数组操作
    Js_字体滚动换颜色
    Js_图片轮播
    Jq_网站顶部定时折叠广告
    Js_网站右下角悬浮视窗可关闭广告
  • 原文地址:https://www.cnblogs.com/jeson/p/443464.html
Copyright © 2011-2022 走看看