惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
罗磊的独立博客
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
Last Week in AI
Last Week in AI
美团技术团队
Google Online Security Blog
Google Online Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
Docker
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
月光博客
月光博客
L
LINUX DO - 最新话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
W
WeLiveSecurity
H
Heimdal Security Blog
Vercel News
Vercel News
SecWiki News
SecWiki News
Forbes - Security
Forbes - Security
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
TaoSecurity Blog
TaoSecurity Blog
T
Troy Hunt's Blog
A
About on SuperTechFans
C
Check Point Blog
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
AI
AI
WordPress大学
WordPress大学
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Help Net Security
Help Net Security
博客园_首页
The Last Watchdog
The Last Watchdog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
I
Intezer
K
Kaspersky official blog
M
MIT News - Artificial intelligence
J
Java Code Geeks
G
GRAHAM CLULEY
P
Palo Alto Networks Blog

博客园 - huangyi

垃圾回收 郁闷 MyConsole 白做了 Winform程序中打开控制台 心目中软件开发的未来 把新闻系统转到CommunityServer下的几点体会 css学习笔记 Float css学习笔记 Position CommunityServer下的新闻系统 qq 被人骗走了啊 狗日的 2千多个小时啊 Enterprise Library CommunityServer如何管理Url CommunityServer如何实现属性的动态扩展 web2.0 与 未来网 论坛 博客 相册 留言本 开发计划 微软技术一个共同点 学习avalon的第一个小程序 献丑了 与delphi有关 看到Agent Oriented Programmig感想 Introduce Longhorn to developers(The Longhorn Application Model)[翻译]
CommuntyServer架构分析
huangyi · 2005-08-01 · via 博客园 - huangyi

程序执行流程
*.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管理 与用户的交互更加人性化
   非常功能强大且复杂的权限管理系统