解讀ASP.NET Portal Starter Kit(2)——用戶配置文件篇
2024-07-10 12:56:12
供稿:網友
國內最大的酷站演示中心!
asp.net portal starter kit將網站所需的配置信息都存儲在一個xml配置文件(portalcfg.xml)中。這些配置信息控制門戶內容的布局(如:顯示哪些門戶的標簽,每個標簽上顯示哪些門戶模塊)以及安全設置(如:用戶類別,訪問權限等)。網絡管理員通過修改配置文件就可以達到修改網站布局和調配各模塊用戶訪問權限。將網站的配置信息存儲在xml配置文件中而不存儲在數據庫中的好處有:1、減少對數據庫的i/o操作(因為配置一旦設置好,就很少改動。在初始化application時將配置文件信息一次性讀入內存就能大大提高性能);2、將相對固定的配置信息放到xml配置文件中可以簡化數據庫的結構,將數據庫主要用來存儲用戶模塊信息,這樣也利于以后的擴展。
先看看網站的框架布局是怎樣的,然后再看看是如何利用用戶配置文件實現框架布局的,框架布局圖如下:
整個網站由頂部導航欄和左中右三個放置用戶功能模塊的框架組成,并默認給出了十個功能模板:公告(announcements)、聯系方式(contacts)、討論(discussion)、事件(events)、html 文檔(html document)、圖片(image )、鏈接(links)、快速鏈接(quicklinks)、xml/xsl、文檔(documents);五個管理模板:模塊類型(module types)、角色(roles)、標簽(tabs)、網站設置(site settings)、管理用戶(manage users)。
配置文件中的表:
global:站點信息配置表
字段
備注
portalid
站點id(可架設多個門戶站點而共用一個數據庫,通過portalid區分)
portalname
站點名稱
alwaysshoweditbutton
是否總是顯示編輯按鈕
tab:導航欄標簽信息表
字段
備注
tabid
標簽id
tabname
標簽名稱
accessroles
可訪問該標簽的角色
taborder
標簽排序號
showmobile
該標簽是否在“移動設備瀏覽器”上顯示
mobiletabname
在“移動設備瀏覽器”上顯示的名稱
module:用戶模塊表(顯示在網站上的各個功能模塊;如:快速鏈接,公告等)
字段
備注
moduleid
模塊id
moduletitle
模塊名稱
editroles
可編輯該模塊的角色
moduledefid
關聯用戶模塊定義表的id,指明該用戶模塊是有那個模板實現
panename
標注顯示在“左中右”那個框架中
cachetimeout
緩存時間
moduleorder
顯示的順序
showmobile
是否在“移動設備瀏覽器”上顯示
moduledefinition:用戶模板定義表(設置用戶模板,由那個用戶控件實現,系統默認給出了十個用戶模板和五個管理模板,可以在擴充)
字段
備注
moduledefid
模板id
friendlyname
模板名稱
desktopsourcefile
“桌面瀏覽器”上顯示的用戶控件源文件地址
mobilesourcefile
“移動設備瀏覽器”上顯示的用戶控件源文件地址
settings和setting:當為xml/xsl模板和圖片模板時設置xml/xsl文件和圖片的地址。
各表之間的關系:
實現方式:
調用時,通過使用配置事務組件,從門戶應用程序的global.asax文件中獲取并加載配置信息。接下來,配置信息被應用到門戶的desktopdefault.aspx頁面中(如果進行訪問的瀏覽器是一個html桌面設備)或門戶的mobiledefault.aspx頁面中(如果進行訪問的計算機是一個移動設備)來提供一個門戶的標簽視圖。在相應頁面顯示時根據當前頁面的tabid找到當前頁面顯示頁面的模塊,根據panename分別顯示在不同的框中。具體的代碼可看:global.asax,desktopdefault.aspx和desktopportalbanner.ascx這幾個文件。
更多相關內容:點擊這里>>