解读ASP.NET Portal Starter Kit(2)——用户配置文件篇

80酷酷网    80kuku.com

  asp.net
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这几个文件。




 


更多相关内容:点击这里>>

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: