CommuntyServer架构分析
程序执行流程
*.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管理 与用户的交互更加人性化
非常功能强大且复杂的权限管理系统
转载于:https://www.cnblogs.com/SupperCabbage/archive/2005/08/01/cs_Design.html
CommuntyServer架构分析相关推荐
- pass基础架构分析
pass基础架构分析 Relay 和 TVM IR,包含一系列优化passes,可提高模型的性能指标,如平均推理,内存占用,或特定设备的功耗.有一套标准优化,及特定机器学习的优化,包括常量折叠,死代码 ...
- Yolov3网络架构分析
Yolov3网络架构分析 上图三个蓝色方框内表示Yolov3的三个基本组件: CBL:Yolov3网络结构中的最小组件,由Conv+Bn+Leaky_relu激活函数三者组成. Res uni ...
- 转:秒杀系统架构分析与实战
原文出处: 陶邦仁 欢迎分享原创到伯乐头条 0 系列目录 秒杀系统架构 秒杀系统架构分析与实战 1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单: ...
- 大型网站系统架构分析--转
大型网站系统架构分析 原文地址:http://www.cnblogs.com/Mainz/archive/2009/04/28/1445424.html 千万级的注册用户,千万级的帖子,nTB级的附件 ...
- Android10.0 日志系统分析(二)-logd、logcat架构分析及日志系统初始化-[Android取经之路]
摘要:本节主要来讲解Android10.0 日志系统的架构分析,以及logd.logcat的初始化操作 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级 ...
- 《libGDX移动游戏开发从入门到精通》一第2章 libGDX的架构分析
本节书摘来异步社区<libGDX移动游戏开发从入门到精通>一书中的第2章,第2.1节,作者: 黄俊东 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- 【转】秒杀系统架构分析与实战
0 系列目录 秒杀系统架构 秒杀系统架构分析与实战 1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1 ...
- 研究项目: JBoss架构分析
原文转自:http://www.huihoo.org/jboss/jboss.cn.html 研究项目: JBoss架构分析 Jenny Liu School of Information Techn ...
- tomcat架构分析 (Session管理)【转】
原文地址:https://www.iteye.com/blog/gearever-1546423 Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是 ...
最新文章
- linux 下安装java
- 面向对象第七章,内存的管理,面向对象三大特征封装、继承、多态
- python中add_Python add()函数是如何使用呢?
- PLSQL的表窗口开启(不小心把PLSQL的表窗口关了,在哪里打开)
- 【C++】For循环同时初始化两个变量
- [Node.js] mySQL数据库 -- 数据库的基本操作
- centos查看是否安装了某个软件
- 使用Node.js的Express框架搭建和开发项目
- 【BlackHat】速修复!有人正在扫描 Exchange 服务器寻找 ProxyShell 漏洞
- 虚拟机管理解决方案逐个看:微软篇
- 解决文件夹无限嵌套无法删除的问题---最新办法
- SimpleDateFormat关于时间类的一些常用处理
- WDS和DHCP配置说明
- 【Java】 大话数据结构(6) 栈的顺序与链式存储
- 【手势识别】基于matlab肤色静态手势识别【含Matlab源码 288期】
- 关于锐捷校园网断网的解决办法
- 海康视频WEB插件 V1.5.2 开发总结
- 常见定位技术有哪些?
- 高精度电压基准电路-TL431实现
- MySQL操作命令-学习笔记随时记录
热门文章
- 在图片中如何生成带有文字边缘空心字体?
- pandas 索引_10分钟带你学会Pandas多层级索引
- git 可视化工具_最值得推荐的8个git/github项目数据分析工具
- 硬盘突然提示没有初始化_分享一下固态硬盘不认盘的修复方法
- delphi listview动态添加图片_网站图片如何优化适合收录
- sort降序shell_希爾排序(Shell Sort)
- 整个html和内部html,什么是HTML?
- Android 读取xml转json,将XML转换为Android中的JSON对象
- php4.3-5.x,4.3 案例之 ThinkPHP 5.0 集成方法
- linux sed第一列参数,linux sed笔记