All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET存取SQLServer数据库图片_[Asp.Net教程]
DataSet数据导入Excel的c#代码_[Asp.Net教程]
SQL注入漏洞全接触--入门篇_mssql学习_编程技术
ASP.NET2.0显示文件夹下全部图片_[Asp.Net教程]
PHP入门:动态网页制作技术PHP的常量类型_[PHP教程]
在c#中执行sql语句时传递参数的小经验_[Asp.Net教程]
网页的新颖效果 斜着滚动的marquee_[Html教程]
ASP.NET,2.0服务器控件之复合控件概述_[Asp.Net教程]
详解ASP.NET数据读取与填充方式_[Asp.Net教程]
Ajax核心:XMLHTTP组件相关技术资料_[AJAX教程]
Reading number is top 10 pictures
29 the belle stars after bath figure1
Kim jong il's mistress, national beauty JinYuJi actor1
Summer is most suitable for young people to travel in China10
Flow chart of breast implants
囚犯暴乱了咋办?
The little woman's bright wire3
初吻给了谁?
Summer is most suitable for young people to travel in China4
In 2013 hercules Arnold classic2
这才是真正的人体艺术3
Download software ranking
Boxer Classic video2
中国结婚习俗实录
Boxer's Top ten classic battle2
asp.netWeb服务器高级编程
少妇苏霞全本
Unix video tutorial3
株洲本地在线棋牌游戏
星际争霸1.08硬盘免安装版
Sora aoi, the maid, students' uniforms
Popkart Cracked versions Mobile phone games
delv published in(发表于) 2014/1/6 9:07:06 Edit(编辑)
Community,Server专题一:概述Community,Server_[Asp.Net教程]

Community,Server专题一:概述Community,Server_[Asp.Net教程]

Community Server专题一:概述Community Server_[Asp.Net教程]

Community Server(CS)是一个非常优秀的Asp.net开源软件,目前官方发布的系统中包括三个部分:Asp.net Forums、DotText、Gallery。如果你是某个以CS构架网站的会员,你可以很容易的就拥有一个Blog、一个相册、还能在论坛上与他人一起进行讨论,这样就形成一个以User为中心的社区,这也就是起名为Community Server的意义所在了。

  CS的构架很巧妙,三套原本不同的开源软件在Telligent Systems的努力下结合在了一起,统一进行用户管理与权限设置(Menbership)、统一进行异常处理、统一进行本地化资源管理(多语言实现)等等。虽然这不能完整地看成是Portal实现,但是从代码角度看已经非常模块化了,可以快速的进行扩展同时又能获得很好的性能。实现这些主要依靠工程中的两个项目:CommunityServerComponents与CommunityServerControls。


  CommunityServerComponents中包含一些全局业务逻辑类,如:Globals、Context等、一些接口和用来继承的父类,如:Group、Section、Thread、Post等、还有就是实现Membership的实体类。异常处理与Url Rewrite是通过继承IHttpModule接口实现的,当然要实现IHttpModule的继承就一定要进行配置,该项目中通过类CSConfiguration实现了一些全局的配置等。HttpHandler也得到了运用,主要是处理一些不存在的Url,如读取用户头像的时候就是使用的HttpHandler。缓存作为Web程序提高运行效率最有效的方法之一在该项目中主要是在CSCache类中,该类没有什么高深的代码主要是对缓存方法进行包装,然后供全局统一管理。


  CommunityServerControls侧重的是UI表现的业务逻辑,其中包含的很多公用的用户自定义控件,典型的就是Editor、ResourceLabel,ResourceLabel几个项目中的web页面下基本都有他的身影。该项目还有一个重要的目的就是提供Skin功能,TemplatedWebControl为Forums、Blog、Gallery几个项目提供Skin的基类,当然如果你扩展CS添加自己的项目,也是需要继承TemplatedWebControl,具体如何实现换肤后面会有专题进行单独的介绍,Asp.net Forums 原来换肤使用的是皮肤的全名(如:Skin-PostView.ascx),但是在现在的项目中不需要提供全名只在基类中提供“Skin-{0}.ascx”,之后用GetType().Name得到{0},组合后就是全名了。也就是说只要需要扩展皮肤类的类名和皮肤的{0}名字相同,就可以自动的找到他对应的Skin,小小的改进方便了许多。CS使用Membership统一用户与权限管理,而用户与权限管理作为所有扩展项目的基础,因此CommunityServerControls中实现了Membership的UI业务逻辑。


  CommunityServerForums、CommunityServerGalleries、CommunityServerBlogs就是三个运用项目的实现了,三层结构,通过大量的继承,抽象等等完成的。CommunityServerGuestBook是一个简单的扩展项目,分析代码你会发现其实CS的扩展式非常容易的,而且高效。


  CS在数据库方面也有一些优秀的设计,如全部使用存储过程,很多时候高手都会告诉你,在项目中全部使用存储过程是不理智的,但是CS确这样做。关键一点是他有一个SqlGenerator类和一些xx Query类,这些类可以根据要求产生SQL Text(主要是一些多变的Search和Post查询),然后这些SQL Text作为存储过程的参数被传入,最后使用EXEC执行它得到需要的结果。SQL Text比起存储过程来的灵活,但容易出现漏洞最后被利用出现SQL注入攻击,CS这样的做法一举两得,当然这需要更多的时间去编写代码。还有就是用存储过程实现的数据分页读取等。


  CommunityServerWeb项目是所有webpage html、资源文件、配置文件、js等的集合。该项目本身没有逻辑代码,分析主要是目录的结构与安排。


  CS与Asp.net 2.0的关系密切,Membership、Localization、MasterPage、Url Rewrite这些在Asp.net 2.0中眼熟的词汇在CS中你可以很容易看到它们的实现,不只是运用,你可以通过代码看到它们是如何实现的。


  说了很多优点,最后说一下缺点:由于CS的前身是Asp.net Forums,在目前发布的版本中还可以很容易的看到Forums残留的影子,如果不了解其发展的人分析起来一些变量会让你摸不着头脑,另外基础构架部分也有一部分代码与Forums跌在了一起,不过我想随着下一个版本,或者下下个版本的发布CS会更有吸引力 ,我是非常希望CS下个版本发布的时候加入WebPart等更多的特性。


  你可以通过以下地址下载到源代码:http://communityserver.org/


  官方站 http://communityserver.cn/ 由宝玉发起的中文站







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.