DNN中的HttpModule

 

HttpModule干什么,怎么实现,可以去看二十四画生前辈的http://esshs.cnblogs.com/archive/2005/05/14/155339.html或是其中提到的msdn文档:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconhandlingpublicevents.asphttp://www.microsoft.com/china/MSDN/library/architecture/patterns/esp/ImpInterCEptingFilterInASP.mspx

DNN中有9HttpMoudle。都在HttpMoudles文件夹下。大致看了下,对这几个模块干什么有了个初步的了解。也让我更清楚什么事应该放在HttpMoudle中做。什么时机来做。

l         AutoUpgradeModule:这是DNN实现在线安装的关键,它会判断是否需要安装,或者是否需要升级数据库。而调用Upgrade服务。

l         CachingModule:不是很清楚干什么的。调用了FileSystem服务。Mark一下,下次来看。

l         DNNMembershipModule:在application.AuthenticateRequest加挂了处理权限的方法。

l         ExceptionModule:在application.Error上加挂了处理错误的方法。

l         LoggingModule:分别在Init和Dispose中进行了一次日志的记录。

l         PersonalizationModule:在application.EndRequest进行本地化。即通过User的信息加载相应的语言包。如果是匿名用户则按默认值进行。很想了解怎么像Google一样实现动态的本地化。(具体实现细节还没有学习,好像对匿名用户有于Asp2.0相似的处理)

l         SchedulerModule:启用或停止一个与application相关的调度线程。

l         UsersOnlineModule:在application.AuthorizeRequest进行在线用户列表的更新。在UserOnlineController中可以看到具体修改的内容。

l         UrlRewriteModule:处理关于Url具体的分析。是整个页面动态加载的用一个关键。从具体的Url可以看出来。几乎所有页面都是以Default.aspx来结尾的。说明它们都是动态书写的没有这个定位系统来传递信息,也是没有办法正常进行的。相关的类在HttpModules\UrlRewrite\Config文件夹下。主目录的SiteUrls.xml定义了一些正则规则式。看这个东西我会比较头痛。。。

posted on 2006-02-15 22:05  duguguiyu  阅读(470)  评论(0编辑  收藏  举报

导航