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这几个文件。
更多相关内容:点击这里>>