有朋友说应该写个大致结构出来。想想也有道理,那么我就来介绍一下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、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!