当前位置:主页   - 电脑 - 网站开发 - ASP.Net
CMS开发记-4 介绍一下DotNetNuke的系统执行流程
来源:网络   作者:   更新时间:2012-02-26
收藏此页】    【字号    】    【打印】    【关闭

  有朋友说应该写个大致结构出来。想想也有道理,那么我就来介绍一下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、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明