欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
博客園 - uGoer - Community Server專(zhuān)題一:概述Community Server

Community Server專(zhuān)題一:概述Community Server

Community Server(CS)是一個(gè)非常優(yōu)秀的Asp.net開(kāi)源軟件,目前官方發(fā)布的系統中包括三個(gè)部分:Asp.net Forums、DotText、Gallery。如果你是某個(gè)以CS構架網(wǎng)站的會(huì )員,你可以很容易的就擁有一個(gè)Blog、一個(gè)相冊、還能在論壇上與他人一起進(jìn)行討論,這樣就形成一個(gè)以User為中心的社區,這也就是起名為Community Server的意義所在了。

CS的構架很巧妙,三套原本不同的開(kāi)源軟件在Telligent Systems的努力下結合在了一起,統一進(jìn)行用戶(hù)管理與權限設置(Menbership)、統一進(jìn)行異常處理、統一進(jìn)行本地化資源管理(多語(yǔ)言實(shí)現)等等。雖然這不能完整地看成是Portal實(shí)現,但是從代碼角度看已經(jīng)非常模塊化了,可以快速的進(jìn)行擴展同時(shí)又能獲得很好的性能。實(shí)現這些主要依靠工程中的兩個(gè)項目:CommunityServerComponentsCommunityServerControls。

CommunityServerComponents中包含一些全局業(yè)務(wù)邏輯類(lèi),如:Globals、Context等、一些接口和用來(lái)繼承的父類(lèi),如:Group、Section、Thread、Post等、還有就是實(shí)現Membership的實(shí)體類(lèi)。異常處理與Url Rewrite是通過(guò)繼承IHttpModule接口實(shí)現的,當然要實(shí)現IHttpModule繼承就一定要進(jìn)行配置,該項目中通過(guò)類(lèi)CSConfiguration實(shí)現了一些全局的配置等。HttpHandler也得到了運用,主要是處理一些不存在的Url,如讀取用戶(hù)頭像的時(shí)候就是使用的HttpHandler。緩存作為Web程序提高運行效率最有效的方法之一在該項目中主要是在CSCache類(lèi)中,該類(lèi)沒(méi)有什么高深的代碼主要是對緩存方法進(jìn)行包裝,然后供全局統一管理。

CommunityServerControls側重的是UI表現的業(yè)務(wù)邏輯,其中包含的很多公用的用戶(hù)自定義控件,典型的就是Editor、ResourceLabel,ResourceLabel幾個(gè)項目中的web頁(yè)面下基本都有他的身影。該項目還有一個(gè)重要的目的就是提供Skin功能,TemplatedWebControlForums、Blog、Gallery幾個(gè)項目提供Skin的基類(lèi),當然如果你擴展CS添加自己的項目,也是需要繼承TemplatedWebControl,具體如何實(shí)現換膚后面會(huì )有專(zhuān)題進(jìn)行單獨的介紹,Asp.net Forums 原來(lái)?yè)Q膚使用的是皮膚的全名(如:Skin-PostView.ascx),但是在現在的項目中不需要提供全名只在基類(lèi)中提供“Skin-{0}.ascx”,之后用GetType().Name得到{0},組合后就是全名了。也就是說(shuō)只要需要擴展皮膚類(lèi)的類(lèi)名和皮膚的{0}名字相同,就可以自動(dòng)的找到他對應的Skin,小小的改進(jìn)方便了許多。CS使用Membership統一用戶(hù)與權限管理,而用戶(hù)與權限管理作為所有擴展項目的基礎,因此CommunityServerControls中實(shí)現了MembershipUI業(yè)務(wù)邏輯。

CommunityServerForums、CommunityServerGalleries、CommunityServerBlogs就是三個(gè)運用項目的實(shí)現了,三層結構,通過(guò)大量的繼承,抽象等等完成的。CommunityServerGuestBook是一個(gè)簡(jiǎn)單的擴展項目,分析代碼你會(huì )發(fā)現其實(shí)CS的擴展式非常容易的,而且高效。

CS在數據庫方面也有一些優(yōu)秀的設計,如全部使用存儲過(guò)程,很多時(shí)候高手都會(huì )告訴你,在項目中全部使用存儲過(guò)程是不理智的,但是CS確這樣做。關(guān)鍵一點(diǎn)是他有一個(gè)SqlGenerator類(lèi)和一些xx Query類(lèi),這些類(lèi)可以根據要求產(chǎn)生SQL Text(主要是一些多變的SearchPost查詢(xún)),然后這些SQL Text作為存儲過(guò)程的參數被傳入,最后使用EXEC執行它得到需要的結果。SQL Text比起存儲過(guò)程來(lái)的靈活,但容易出現漏洞最后被利用出現SQL注入攻擊,CS這樣的做法一舉兩得,當然這需要更多的時(shí)間去編寫(xiě)代碼。還有就是用存儲過(guò)程實(shí)現的數據分頁(yè)讀取等。

CommunityServerWeb項目是所有webpage html、資源文件、配置文件、js等的集合。該項目本身沒(méi)有邏輯代碼,分析主要是目錄的結構與安排。

CSAsp.net 2.0的關(guān)系密切,Membership、Localization、MasterPage、Url Rewrite這些在Asp.net 2.0中眼熟的詞匯在CS中你可以很容易看到它們的實(shí)現,不只是運用,你可以通過(guò)代碼看到它們是如何實(shí)現的。

說(shuō)了很多優(yōu)點(diǎn),最后說(shuō)一下缺點(diǎn):由于CS的前身是Asp.net Forums,在目前發(fā)布的版本中還可以很容易的看到Forums殘留的影子,如果不了解其發(fā)展的人分析起來(lái)一些變量會(huì )讓你摸不著(zhù)頭腦,另外基礎構架部分也有一部分代碼與Forums跌在了一起,不過(guò)我想隨著(zhù)下一個(gè)版本,或者下下個(gè)版本的發(fā)布CS會(huì )更有吸引力 ,我是非常希望CS下個(gè)版本發(fā)布的時(shí)候加入WebPart等更多的特性。

 

你可以通過(guò)以下地址下載到源代碼:http://communityserver.org/   官方站
                                                            
   http://communityserver.cn/    由寶玉發(fā)起的中文站

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
20110429
本周ASP.NET英文技術(shù)文章推薦[04/15 - 04/21]
ASP連接SQL Server2005_看海南
[推薦]社區網(wǎng)站源代碼Community Server
sql返回最后一行怎么寫(xiě)啊. MS-SQL Server / 基礎類(lèi) - CSDN社區 community.csdn.net
ASP.NET 2.0輕松實(shí)現數據庫應用開(kāi)發(fā)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久