zoukankan      html  css  js  c++  java
  • 前几天看IBuySpy时记在OneNote里面的笔记

    IBuySpy Portal 中使用 PortalModuleControl 这个继承自UserControl的类来作为站点中所有Module的基类,用户控件的工作方式是,当页面上实例化一个用户控件时,自动将它的所有子控件全部Render成HTML,然后输出,为了提高Module的工作效率,每个Module可以设置自己的缓存时间,在缓存时间内,系统不会再重复Render它的所有子控件,而是在第一次Render的时候,把结果HTML文本缓存起来,当下次需要的时候再直接输出。   实现缓存功能,IBuySpy是通过CachedPortalModuleControl实现的。   因为IBuySpy页面上的Module都是通过LoadControl()方法来动态载入到页面上的,像这样:   PortalModuleControl portalModule = (PortalModuleControl) Page.LoadControl(_moduleSettings.DesktopSrc);   portalModule.PortalId = portalSettings.PortalId;portalModule.ModuleConfiguration = _moduleSettings;   parent.Controls.Add(portalModule);   当检测到一个Module的CacheTime>0时,代码则:   CachedPortalModuleControl portalModule = new CachedPortalModuleControl();   portalModule.PortalId = portalSettings.PortalId;portalModule.ModuleConfiguration = _moduleSettings;   parent.Controls.Add(portalModule);   就是说,代码不会再载入PortalModuleControl类型的控件了,而是载入CachedPortalModuleControl来实现的。   下面看看CachedPortalModuleControl是如何实现缓存的:   private String _cachedOutput = “”;   这里定义了一个String变量,保存缓存的内容   protected override void [...]
  • 相关阅读:
    问题 A: 【递归入门】全排列
    第一个struct2程序(2)
    第一个struct2程序
    Java学习 第二节
    重学Java
    Servlet过滤器
    struct2
    Java web struct入门基础知识
    one by one 项目 part 6
    软件工程导论 桩模块和驱动模块
  • 原文地址:https://www.cnblogs.com/kaneboy/p/2333682.html
Copyright © 2011-2022 走看看