程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 我的CMS開發記-4 介紹一下DotNetNuke的系統執行流程

我的CMS開發記-4 介紹一下DotNetNuke的系統執行流程

編輯:關於ASP.NET

有朋友說應該寫個大致結構出來。想想也有道理,那麼我就來介紹一下Dotnetnuke的執行流程。基本上我這個就是照搬他的 基本思路

一個站點,無論其內容多麼豐富,頻道,欄目等無論有多少,其最終的表現形式終歸是一個一個頁面。系統直接對頁面進行處理,至於頁面上放什麼內容,這個沒有關系 ,放什麼模塊,就呈現什麼內容。和傳統CMS系統的"首頁",“列表頁”,“終端頁”的三大類分類完全不同,我們認為,無論是首頁也好,列表頁也好,它最終無非還是一 個"頁面"。而只要是頁面,那它就一定有如下特點:上面可以有若干區域,每個區域顯示若干內容。在此系統中,如果加載了“文章列表模塊”那麼就是列表頁,如果加載 了“文章模塊”那麼就是終端頁。

特點

一、整個站點只有一個頁面。非常便於集中管理。

二、所有功能模塊之間可以互不相關。便於擴充。

站點主要信息都在數據庫中集中存儲,各頁面信息也是統一管理,甚至所有url的生成也集中在一處管理,非常便於後期urlrewrite等的處理。

系統運行基本流程

系統首先請求唯一的頁面/Default.aspx.

根據參數tabid=?來判斷請求的是哪個頁面。

權限判斷。如果不滿足權限則重定向到登錄頁。

讀取頁面信息。判斷應加載那個頁面皮膚並加載之。

頁面皮膚根據頁面模塊信息加載功能模塊。

各功能模塊執行各自自己的邏輯,最終在/Default.aspx頁中顯示頁面呈現的最終結果。

/Default.aspx執行結束,一次請求結束.

基本上DotNetNuke的思路就是這些,你要說有啥深不可測的技術麼也沒有,關鍵是皮膚部分,以及執行步驟部分有不少改進的空間。

DotNetNuke的不爽之處

1,皮膚創建問題。它使用 td,div標記作為容器。這樣會導致最終頁面上會出現許多 id="ctl000_XX"之類的標記。這些標記說不定在啥時候會和美工寫的CSS其反 應.

對此我的解決方案是:全部使用placeholder做容器,這樣頁面上就不會有多余的id了

2,權限問題。這個東西部署時真是麻煩,因此我特別注意了這個問題.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved