ASPNET Portal Starter Kit将网站所需的配置信息都存储在一个XML配置文件(PortalCfgxml)中这些配置信息控制门户内容的布局(如显示哪些门户的标签每个标签上显示哪些门户模块)以及安全设置(如用户类别访问权限等)网络管理员通过修改配置文件就可以达到修改网站布局和调配各模块用户访问权限将网站的配置信息存储在XML配置文件中而不存储在数据库中的好处有减少对数据库的I/O操作(因为配置一旦设置好就很少改动在初始化Application时将配置文件信息一次性读入内存就能大大提高性能)将相对固定的配置信息放到XML配置文件中可以简化数据库的结构将数据库主要用来存储用户模块信息这样也利于以后的扩展
先看看网站的框架布局是怎样的然后再看看是如何利用用户配置文件实现框架布局的框架布局图如下
整个网站由顶部导航栏和左中右三个放置用户功能模块的框架组成并默认给出了十个功能模板公告(Announcements)联系方式(Contacts)讨论(Discussion)事件(Events)HTML 文档(Html Document)图片(Image )链接(Links)快速链接(QuickLinks)XML/XSL文档(Documents)五个管理模板模块类型(Module Types)角色(Roles)标签(Tabs)网站设置(Site Settings)管理用户(Manage Users)
配置文件中的表
Global站点信息配置表
Tab导航栏标签信息表
Module用户模块表(显示在网站上的各个功能模块如快速链接公告等)
ModuleDefinition用户模板定义表(设置用户模板由那个用户控件实现系统默认给出了十个用户模板和五个管理模板可以在扩充)
Settings和Setting当为XML/XSL模板和图片模板时设置XML/XSL文件和图片的地址
各表之间的关系
实现方式
调用时通过使用配置事务组件从门户应用程序的Globalasax文件中获取并加载配置信息接下来配置信息被应用到门户的DesktopDefaultaspx页面中(如果进行访问的浏览器是一个HTML桌面设备)或门户的MobileDefaultaspx页面中(如果进行访问的计算机是一个移动设备)来提供一个门户的标签视图在相应页面显示时根据当前页面的TabID找到当前页面显示页面的模块根据PaneName分别显示在不同的框中具体的代码可看GlobalasaxDesktopDefaultaspx和DesktopPortalBannerascx这几个文件