秋色園QBlog技術原理解析 開篇 整體認識 一

2021-09-21 11:17:53 字數 2668 閱讀 4142

很多網友表示對秋色園的實現原理感興趣,有很多人,問了很多問題,包括:

1:url位址怎麼沒有字尾?

3:怎麼實現多**樣式的?

4:怎麼只看到ashx檔案,看不到aspx頁面呢,頁面是如何如出來的?

5:是不是mvc寫的?答:不是。

6:支不支援mssql?

7:生成的html怎麼沒有空格和換行符?

8:看不懂......

9:......等等。

本系列,將為大夥解析 

秋色園 的技術原理,解開以上的迷惑。

一:總體認識

看一下秋色園發布後都有哪些目錄與檔案:

1:資料夾內容:

admin:

這裡面是系統管理後台,是單獨的乙個管理後台系統,採用的開發方式是傳統的webform+codesmith批量生成頁面。

由於採用access發布,因此後台系統需要發布到前台的目錄裡,所以你在這裡看到這個目錄。

存放access資料庫的地方,如果使用mssql或oracle等資料庫,這資料夾就沒必要了。

bin:

就是放程式的主dll,大夥都懂的,這裡的內容將是本系列最大的解說點。

包括:cyq.data.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看源**的首行,都會發現一句:

這裡把它們下到本地來了,為什麼下到本地,這個後面解說。

skin:

所有介面樣式[包括語言翻譯檔案]存放的地方,裡每個資料夾都對應一套樣式。

包括:admin 使用者後台樣式

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

global 全域性樣式-包括註冊/登陸/錯誤頁面等

system_tech 技術頻道樣式,就是秋色園現在的首頁介面樣式

system_health 健康頻道樣式,就是秋色園的

健康頻道的介面樣式

upload:

檔案上傳的資料夾,目前包括:

log:當資料庫寫異常日誌失敗時,將寫io檔案到此資料夾。

userhead:使用者上傳的個人頭像。

2:檔案內容:

api.asmx:

這是乙個webservice檔案,主要是用於採集入庫時呼叫的。

簡單的說,秋色園的內容是哪來的?採集的,而且是在本機採集的。

而遠端是access資料庫,無法直接呼叫,因此寫了這個api用於入庫。

使用者後台:

admin.ashx:後台處理程式,秋色園的整個使用者後台,都是經這個檔案處理。

使用者前台:

index.ashx:使用者前台的首頁處理程式。

系統及共用部分:

rss.ashx: 

秋色園 主站和使用者的rss內容處理程式。

language.ashx:多語言切換的處理程式。

reglogin.ashx:使用者登陸與註冊的處理程式。

error.ashx:站點發生異常時的處理程式。

home.ashx[可刪除]、home_tech.ashx:兩個是一樣的,秋色園技術頻道,即主站的處理程式。

home_health.ashx:健康頻道的處理程式。

本節開篇就整體介紹到這裡,大家有乙個感性認識。

下節起,將詳細的為大夥解析秋色園具體的實現原理,歡迎感興趣者表示下關注。v

《kvm虛擬化技術 實戰與原理解析》讀書筆記

x86平台虛擬化技術中,新引入的虛擬化層通常稱為虛擬機器監控器 virtual machine monitor,vmm 也叫做hypervisor.宿主機是真實的物理平台,客戶機是虛擬出來的平台。虛擬化實現的技術方式有多種,比如軟體虛擬化和硬體虛擬化,再比如準虛擬化和全虛擬化。準虛擬化需要修改客戶機...

《KVM虛擬化技術實戰和原理解析》讀書筆記(二)

在x86 64架構的處理器中,kvm必需的硬體虛擬化擴充套件分別為 intel的虛擬化技術 intel vt 和amd的amd v技術。除了必需的處理器虛擬化擴充套件以外,如果伺服器晶元還支援vt d,也建議在bios中將其開啟,因為後面一些相對高階的裝置的直接分配功能會需要硬體vt d技術的支援。...

技術原理解析 2 C 水印和驗證碼的製作

水印的基本製作方法就是使用gdi 的方法在的制定位置上繪製文字或者。說到gdi 一般用於winform對於gui的繪製,例如文字編輯器的製作,就是使用gdi函式繪製文字在窗體表面。其實gdi不僅可以繪製窗體,它可以繪製一切的drawable的表面。我記錄的水印製作就是利用gdi函式,進行原圖和水印的...