CommuntyServer架构分析

本文介绍了CommunityServer的程序执行流程,包括从*.aspx到各控件的调用过程,以及Components和DataProvider的构成。还阐述了其数据读取模式,即先读缓存。同时说明了该架构的好处,如剥离表示层、数据层灵活、配置管理方便、缓存管理统一等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序执行流程
*.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 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/SupperCabbage/archive/2005/08/01/cs_Design.html

内容概要:本文详细介绍了C语言指针和字符串操作的基础知识与高级技巧。指针部分涵盖了指针作为数据类型的特点,包括指针变量的定义、间接赋值的应用场景及其重要性,以及不同级别的指针如何在函数间传递并修改实参的值。同时强调了指针操作的安全性问题,如不允许向NULL或未知地址拷贝内存,并讲解了`void*`指针的作用及其转换规则。字符串操作部分则重点讨论了字符串初始化、`sizeof`与`strlen`的区别、字符`\0`的作用及其与其他符号的区别,还展示了数组法和指针法两种操作字符串的方式,并给出了几个常见的字符串处理算法实例,如统计子串出现次数、去除字符串两端空白字符等。 适用人群:具有初步C语言基础的学习者,特别是对指针和字符串操作有进一步需求的编程人员。 使用场景及目标:①帮助读者深入理解指针的工作机制,掌握通过指针间接访问和修改内存的技术;②使读者能够熟练运用字符串操作的基本函数,并能编写高效的字符串处理代码;③培养读者的安全意识,避免因不当使用指针而导致程序崩溃或产生未定义行为。 阅读建议:由于指针和字符串是C语言中较为复杂的概念,建议读者在学习过程中多做笔记,动手实践书中的示例代码,尤其要注意理解指针间接赋值的原理,以及字符串处理函数的具体实现细节。此外,对于`void*`指针的理解和使用,应特别留意其类型转换的要求,确保代码的安全性和正确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值