很多网友表示对 秋色园 的实现原理感兴趣,有很多人,问了很多问题,包括:

1:URL地址怎么没有后缀?

2:多语言是怎么实现的?文章内容是不是在线翻译的?

3:怎么实现多皮肤样式的?

4:怎么只看到ashx文件,看不到aspx页面呢,页面是如何如出来的?

5:是不是MVC写的?答:不是。

6:支不支持MSSQL?

7:生成的html怎么没有空格和换行符?

8:看不懂......

9:......等等。

本系列,将为大伙解析 秋色园 的技术原理,解开以上的迷惑。

 

一:总体认识

 

看一下 秋色园 发布后都有哪些目录与文件:

ps:下载地址:http://www.cyqdata.com/download/article-detail-427

 

1:文件夹内容:

 

Admin:

这里面是系统管理后台,是单独的一个管理后台系统,采用的开发方式是传统的WebForm+CodeSmith批量生成页面。

由于采用Access发布,因此后台系统需要发布到前台的目录里,所以你在这里看到这个目录。

App_Data:

存放access数据库的地方,如果使用MSSQL或Oracle等数据库,这文件夹就没必要了。

Bin:

就是放程序的主DLL,大伙都懂的,这里的内容将是本系列最大的解说点。

包括:

CYQ.Data.dll:核心数据操作组件,支持多数据库及界面加载和缓存,就靠它了。

CYQ.Editor.dll:自定义的编辑器组件。

Entity.dll:包含一些固定不变的数据,包括枚举、常量和自定义SQL语句等。

Logic.dll:业务逻辑处理类,基本大大小小的业务都是这里发生的。

Module.dll:自定义的页面生存周期[基类]及共同的简单的全局数据处理。

Tool.dll:几个常用的方法,包括分隔URL获取参数等。

UrlRewrite.dll:自定义的URL重写,秋色园的URL怎么弄的,就它了,也是程序的第一入口。

Web.Core.dll:一些比较固定的类,包括用户验证注册、文件上传、信息加密等。

Web.dll:就是一些ashx文件,即页面生成的。

Web.Extend.dll:包括处理页面标题、访问统计信息等扩展业务。

Editor:

编辑器存放js和css的地方,秋色园整个系统无第三方插件,Editor也是自己动手。

Setting:

存放的是DTD文档解析文件,打开一个html看源代码的首行,都会发现一句:

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd

这里把它们下到本地来了,为什么下到本地,这个后面解说。

Skin:

所有界面样式[包括语言翻译文件]存放的地方,里每个文件夹都对应一套样式。

包括:

admin 用户后台样式

default 前台样式,和其它三套一样[skin_bbs/skin_black/skin_blue]

global 全局样式-包括注册/登陆/错误页面等

system_tech 技术频道样式,就是秋色园现在的首页界面样式

system_health 健康频道样式,就是秋色园的健康频道的界面样式

Upload:

文件上传的文件夹,目前包括:

Editor:从编辑器上传的文件与图片。

Lang:个人设置在线多语言编辑时,把语言文件临时复制一份放到这让大伙修改的。

Log:当数据库写异常日志失败时,将写IO文件到此文件夹。

UserHead:用户上传的个人头像。

UserPhoto:用户上传的图片。

 

2:文件内容:

 

API.asmx:

这是一个webservice文件,主要是用于采集入库时调用的。

简单的说,秋色园的内容是哪来的?采集的,而且是在本机采集的。

而远程是Access数据库,无法直接调用,因此写了这个API用于入库。

用户后台:

Admin.ashx:后台处理程序,秋色园的整个用户后台,都是经这个文件处理。

用户前台:

Index.ashx:用户前台的首页处理程序。

Article.ashx:用户前台的文章处理程序。

Photo.ashx:用户前台的图片处理程序。

系统及共用部分:

Rss.ashx: 秋色园 主站和用户的RSS内容处理程序。

Language.ashx:多语言切换的处理程序。

RegLogin.ashx:用户登陆与注册的处理程序。

Error.ashx:站点发生异常时的处理程序。

Home.ashx[可删除]、Home_Tech.ashx:两个是一样的,秋色园技术频道,即主站的处理程序。

Home_Health.ashx:健康频道的处理程序。

 

本节开篇就整体介绍到这里,大家有一个感性认识。

 

下节起,将详细的为大伙解析秋色园具体的实现原理,欢迎感兴趣者表示下关注。

posted on 2011-02-16 11:48  路过秋天  阅读(4135)  评论(51编辑  收藏  举报
路过秋天