• 秋色园QBlog技术原理解析:开篇:整体认识(一)


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

    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:健康频道的处理程序。

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

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

  • 相关阅读:
    React Native 架构演进
    React Native 架构一览
    React Native 在 Airbnb 的起起落落
    React Native简史
    图解云服务模型的演进
    伯克利研究员们眼中的Cloud Computing
    彻底理解 IaaS、PaaS、SaaS
    JS更随机的随机数
    JS自动化
    fingerprint2 计算浏览器指纹分析
  • 原文地址:https://www.cnblogs.com/cyq1162/p/1955902.html
Copyright © 2020-2023  润新知