huangyiiiiii

此blog不再更新,大家都去我的新家吧http://codeplayer.blogbus.com

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

程序执行流程
*.aspx                                   <CS:ContentContainer.../>
->ContentContainer.cs           Page.LoadControl(*MasterPage.ascx);  and fill regions with contents
   ->*MasterPage.ascx           < ... />
      ->LayoutControls             Page.LoadControl(....ascx);
      ->View-*.ascx                 <  ... />
           ->Controls                  Page.LoadControl(...ascx);    直接调用Components中的类
               ->Skin-*.ascx         
               ->Components         调用
                      ->DataProvider

Components 包括

部分业务逻辑类
数据实体类
功能性的类
站点用户的配置


DataProvider 包括

抽象基类 *DataProvider.cs
SqlServer的实现 *SqlDataProvider.cs
配置类 Provider  包含一些配置信息  比如provider的name ,type.  可以根据这些信息加载正确的DataProvider.


数据基本按照原路返回  简单数据跳过Components

Controls 从Components 中读数据的时候基本遵从以下模式

  读缓存
  没有
    则继续以上路径到 DataProvider
    将读出的数据添加到缓存
    返回数据
  有
    返回数据


CommunityServer架构的好处
   把表示层完全剥离出来 产生Themes的概念
   使用Provider模式 使数据层变得极度灵活
   丰富的配置数据管理 方便对站点的定制
   统一的缓存管理 提高系统性能
     ...CommunityServer的主创人员都是微软asp.net开发组的高手 对提高asp.net的性能深有研究
   统一的URL管理 与用户的交互更加人性化
   非常功能强大且复杂的权限管理系统
  

posted on 2005-08-01 01:04  huangyi  阅读(2042)  评论(8编辑  收藏  举报