Community Server(CS)是一個非常優秀的Asp.net開源軟件,目前官方發布的系統中包括三個部分:Asp.net Forums、DotText、Gallery。如果你是某個以CS構架網站的會員,你可以很 " /> 在线观看亚洲 日韩 国产,嫩草影院久久国产精品,伊人国产在线播放

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Community Server專題一:概述Community Server

Community Server專題一:概述Community Server

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/     由寶玉發起的中文站

AspNet技術Community Server專題一:概述Community Server,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 午夜婷婷一夜七次郎 | 久久综合色超碰人人 | 国产精品久久久久久久久爆乳 | 色欲AV亚洲午夜精品无码 | 亚洲欧洲精品成人久久曰影片 | 国产精品毛片AV久久97 | 九九九色成人网 | 中文国产乱码在线人妻一区二区 | 伊人影院2019 | 添加一点爱与你电视剧免费观看 | 无码国产色欲XXXX视频 | 日韩专区亚洲国产精品 | 视频专区亚洲欧美日韩 | 岛国片在线免费观看 | 亚洲精品青青草原avav久久qv | 日韩 国产 欧美视频二区 | 亚洲 欧美 日韩 卡通 另类 | 777黄色片| 超碰97人在线视频 | 日韩中文字幕亚洲无线码 | 99久久精品国产亚洲AV | 国产精品人妻无码久久久蜜桃 | 19不插片免费视频 | 国产三级在线观看视频 | 男污女XO猛烈的动态图 | 色欲AV精品一区二区入口 | 亚洲伊人久久一次 | 蜜桃传媒星空传媒在线播放 | 国产精品一久久香蕉国产线看 | 日本特交大片免费观看 | 中文字幕午夜乱理片 | 双腿打开揉弄高潮H苏安安秦慕深 | 日本国产成人精品无码区在线网站 | 国产一区二区三区国产精品 | 囯产精品麻豆巨作久久 | 97人人爽人人爽人人人片AV | 国产精品无码AV天天爽色欲 | 97精品国产高清在线看入口 | 亚洲欧美日韩国产手机在线 | 日韩精品熟女一区二区三区中文 | 欧美 日韩 亚洲 在线 |