DotNetNuke 5 C#版本解读之2--HTTP Modules
2010-07-21 02:37
549 查看
在前面文章里说明了DNN的架构,下面这个图应该说是更加能够全面的让你去了解它的结构:
代码
上面只是粗略的说明了下DNN的url重写是如何进行的。代码级别的研究以及自定义url规则都会单独有文章来介绍。
PS:DNN的URL重写你如果掌握了,你完全可以把它移植出来到你的项目中。
DNN的ExceptionHTTPModule模块
代码
<friendlyUrldefaultProvider="CustomFriendlyUrl"> <providers> <clear/> <addname="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules.UrlRewrite"includePageName="true" regexMatch="[ˆa-zA-Z0-9_-]"/> <addname="CustomFriendlyUrl" type="CompanyName.FriendlyUrlProvider,CompanyName.FriendlyUrlProvider"/> </providers> </friendlyUrl>
上面只是粗略的说明了下DNN的url重写是如何进行的。代码级别的研究以及自定义url规则都会单独有文章来介绍。
PS:DNN的URL重写你如果掌握了,你完全可以把它移植出来到你的项目中。
DNN的ExceptionHTTPModule模块
上面url重写部分使用的是BeginRequest事件,而Exception模块我们需要在整个应用程序发生错误时就去执行某个方法。代码如下:
也同时会把这个异常信息存储到数据库中来供开发人员分析。
DNN的UserOnlineHTTPModule
这个Module监听的是AuthorizeRequest事件。每当一个用户向服务器端发出身份认证时这个HTTPModule就会向服务器发送请求,useronlineprovider就会执行。
DNN的usernolineprovider主要是使用Cookie来存放唯一标识的。这样可以防止那些在线的游客被重复记录。当然了这个功能主要是靠DNN的Scheduler模块
在后台有个线程没几分钟去执行下。
DNNUserOnline模块的代码级别研究也会在以后一篇文章里介绍。这里你知道原理就行。
其它还有Membership,Compression,RequestFilter,Analytics,Compression模块。Analytics这个功能我觉得对于很多监测网站数据访问量的人员来说是个很好的参考。
我会把对它的说明和Requestfilter放在一块讲解。估计接下来HttpModule部分还得写7-8篇文章才行。
Cheers
Nic
相关文章推荐
- DotNetNuke 5 C#版本解读之2--HTTP Modules
- 转载 -- DotNetNuke 5 C#版本解读之2--HTTP Modules
- DotNetNuke 5 C#版本解读之2--HTTP Modules
- DotNetNuke 5 C#版本解读之2--HTTP Modules
- DotNetNuke 5 C#版本解读之3--DNN Membership
- 转载 -- DotNetNuke 5 C#版本解读之1--架构介绍
- DotNetNuke 5 C#版本解读之1--架构介绍
- DotNetNuke 5 C#版本解读之1--架构介绍
- DotNetNuke 5 C#版本解读之--架构介绍
- DotNetNuke 5 C#版本解读之1--架构介绍
- DotNetNuke 5 C#版本解读之1--架构介绍
- DotNetNuke 5 C#版本解读之3--DNN Membership
- DotNetNuke 5 C#版本解读之3--DNN Membership
- DotNetNuke 5 C#版本解读之3--DNN Membership
- 一起谈.NET技术,DotNetNuke 5 C#版本解读之--架构介绍
- 发布DotNetNuke C#版本
- DotNetNuke的C#版本
- DNN(DotNetNuke)4.4 C# 版本地址
- DotNetNuke Switches to C# !!
- Why isn't there a C# version of DotNetNuke?