- 相关文章 (13)
- QBlog隐藏技巧 (2)
- 爱说说系列 (4)
- QBlog 开源发布 (3)
- QBlog版本发布 (8)
- QBlog 模板制作教程 (6)
- QBlog开发者视频教程 (6)
- 秋色园技术原理解析 (21)
- 啊哈
- スーパーコピーブランド専門ショップ時計 バッグ 財布N級品販売通販 全品送料無料!! 弊社は価値をつけてルイヴィトンを販売して、シャネル 、グッチなど。 ◆2018年は最も新型に人気があって、新しい素材の商品到着! 人気ブランド品大注目 ◆信用の第1、風格は多くて、品質は良いです! ◆運賃の無料(日本全国)が予約購入することを期待しています! ◆弊社の商品は絶対的な自信があります。 ぜひ、見てくださいね!! 海外スーパーコピーのスーパーコピー バッグ、アクセサリー スーパーコピー時計、貴金属の(リサイクル品)のスーパーコピー販売買取
- ルイヴィトン 財布スーパーコピー ようこそ ルイヴィトン スーパーコピー販売商店へいらっしゃいませ! 真心込めて最高 レベルのスーパーコピールイヴィトン偽物ブランド品をお届けしています。 安全税関対策+ 素早い配送+随時の在庫補給+丁寧な対応+スーパーコピー販売業界最低価格に挑戦 ! 当店は業界最高品質に挑戦!全商品はプロの目にも分からないルイヴィトン 財布スーパーコピーです。 ルイヴィトン財布コピー、ルイヴィトン 財布 ブランド偽物など世界 有名なバックコピー商品が満載! 当店のスーパーコピー商品は他店よりも質が高く、金額も安くなっております。 ご購入する度、ご安心とご満足の届けることを旨にしております よろしくお願いします ありがとうございます (*^__^*)
- 可以
- 不错,博主是大神,膜拜中
- 44
- 顶起来!一页文字,几载求索
- ACESS 我也是深恶痛绝,但还是不得不用
- 阿斯顿
- <label>上节回顾</label>
- 绑定一级域名(顶级域名)到秋色园QBlog博客教程(22745)
- 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三)(22431)
- 秋色园QBlog技术原理解析:开篇:整体认识(一)(21282)
- 调查:是否支持秋色园QBlog走进开源博客之路(19983)
- Windows7下如何安装部署秋色园CYQBlog站点(15367)
- 秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四)(14314)
- 开源博客-秋色园QBlog多用户博客系统安装视频教程(14064)
- 如何安装部署秋色园CYQBlog站点(13512)
- 秋色园QBlog技术原理解析:认识整站处理流程(二)(13317)
- 秋色园QBlog技术原理解析:Module之基类生命周期-页面加载(七)(12986)
- 调查:是否支持秋色园QBlog走进开源博客之路(32)
- 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三)(23)
- 秋色园QBlog技术原理解析:开篇:整体认识(一)(13)
- QBlog开发者视频教程:开篇-开发基础配置与系统运行(一)(13)
- CYQ.IIS 无需要安装IIS运行QBlog网站(13)
- Windows7下如何安装部署秋色园CYQBlog站点(12)
- 开源博客CYQ.Blog 秋色园QBlog 源码下载[免费开放24个下载码](11)
- 开源博客-秋色园QBlog多用户博客系统安装视频教程(10)
- 绑定一级域名(顶级域名)到秋色园QBlog博客教程(10)
- 如何安装部署秋色园CYQBlog站点(9)
文章回顾:
1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用
2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程
3: 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三) --介绍如何实现无后缀URL
4: 秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四) --介绍URL如何定位到处理程序
5: 秋色园QBlog技术原理解析:Module之页面基类设计(五) --介绍创建基类和自定义生命周期
ps:秋色园QBlog下载地址:http://www.cyqdata.com/download/article-detail-427
从上节中,我们为页面基类自定义了如下的几个生命周期:
本节,将为你详细解析秋色园QBlog在每个生命周期所处理的事情。
一:参数初始化:private void Page_Init(HttpContext context)
秋色园QBlog在第一个生命周期里,主要完成以下参数的初始化:
1:URL参数接收:即从UrlRewirte分好类后传过来的参数
2:公共类:UserLogin:从此类可获取到当前访问用户信息、被访问用户信息
3:XmlHelper:操作html文档类,能轻松加载html,并以xml方式轻松操作填充内容
4:MutilLanguage:多语言处理类,能统一翻译html文档
为此,基类需要定义一些常用属性,方便各个页面ashx处理程序调用。
因此,定义了如下属性,并从参数里接收:
这里有2点注意说明:
1:引入了CYQ.Data:用上了CYQ.Data.Xml下的两个类XmlHelper、MutilLanguage
2:属性中没有定义UserLogin及几个URL参数:本系列主介绍原理,太细节的代码就略过了
类库说明:
XmlHelper:主要用于加载html,默认构造函数的true,表示从html加载
MutileLanguage:基于XmlHelper的扩展,允许从xml/html中加载语言文件
到此,第一步参数初始化就完成了。
二:页面加载:private void Page_PreLoad()
经参数初始化之后,将预加载html,并进行初步处理,秋色园QBlog完整流程如下:
1:如果开启缓存:尝试读取三级缓存,页面缓存
2:不存在缓存:进入加载页面流程
3:对加载后的页面,处理CSS/IMG的路径
4:对加载后的页面,进行多语言翻译
5:根据Request.Form提交的参数判断,是不是Post提交数据,如果是,将引入新的Post处理流程。
以下为秋色园QBlog流程代码,仅供参考:
说明:
本阶段涉及到以下多个重点问题:
1:如何加载页面?
2:如何加载语言文件?
3:如何处理CSS/IMG路径?
4:如何统一翻译?
5:引发新的OnPost流程?
这些细节问题,将在下节进行更详细的解析,本节顺着把下面的流程给解析完。
三:页面填充区:ashx处理程序负责的3个流程
在经过参数初始化,页面加载两个流程之后,各ashx处理程序的任务将变的简单
1:protected abstract void Page_Load()
正常访问:重写此方法,对页面进行内容填充。
2:protected virtual void Page_OnCache()
缓存访问:重写此方法,完成个别的处理,如:用户名
3:protected virtual void OnPost()
提交访问:重写此方法,对提交内容处理,并入库
四:输出前的处理:private void Page_PreEnd()
当参数初始化->加载页面->填充页面等步骤完成之后,
在将页面的html输出给客户端之前,
还需要处理点事情,而这个过程,将是处理这些事情的好地方。
秋色园QBlog 在这里,主要都处理了哪些流程呢?如下:
1:计算用户和文章的访问统计
2:处理页面的标题
3:缓存页面
五:页面html输出到客户端:private void Page_End()
这里的处理将变的相当的简单:
输出:XmlDocument.OuterXml到客户端
销毁:调用各个全局变量的Dispose方法,注销各个对象。
总结:
本节相对详细的解析了秋色园QBlog整个生命周期处理流程,
并介绍了每个周期要处理的事情。
但具体还留下很多细节,等待详细的解析及示例。
而这些,下一节为你的解析:如何加载页面?及如何实现页面多语言翻译?!
下一篇:秋色园QBlog技术原理解析:Module之基类生命周期-页面加载(七) --介绍界面html加载原理