小弟今年6
月份剛剛畢業。前天剛剛開始接觸
秋色園這個開源框架,感覺收穫頗多,在此寫了乙個測試專案,加上了乙個自己寫的路由機制。還望各位看官見笑了。
我的專案分為:urlrewrite層,urlrewritemodule層,webui層。
urlrewrite層用於當http處於剛剛進來的時候用httpmodule處理路由操作。
urlrewritemodule層裡面繼承了乙個httphandler為頁面基類,在裡面設定了整張頁面的生命週期。
webui層是
web應用層。
如下圖:
我的路由機制設定的url格式是這樣的:
~/模組名
/頁面名(不加字尾)?引數
其中模組名如果你是在根目錄下的如default.ashx
頁面則為
home
,其他是對應其資料夾名的如
admindefault.ashx
的模組名為
admin
。在第一次接受到http
請求的時候交由urlrewrite裡面的urlrewrite處理。並且將get方式獲得的引數加請求的
url一起傳過去。
}//在此判斷頁面名
internal
string getpagename(string
name)
return
name;
}//在此判斷模組名稱
internal
string getmodulename(string
name)
return
name;
}view code
在此處理這段url
並找到其物理路徑通過httpcontext的rewritepath方法來跳轉到該頁面處理。
好!到了這一步已經可以進入對頁面的處理模組了!頁面類繼承抽象類httpcustom類,而httpcustom類繼承ihttphandler用於處理http請求
//輸出前做點什麼
page_end();//
輸出html
因為做測試我在過載的page_load方法裡面所以輸出一下文字已表示請求到的頁面。
好到這裡已經完成了!我們來測試下執行專案,在瀏覽器中輸入http://localhost:3801/admin/admindefault?t=3&fg=afsdf,然後頁面出來了如下圖:
當然要乙個完整的後面還有很多步驟,如頁面的動態化生成,快取,資料庫(要真要繼續弄下去打算用nhibernate來進行資料操作)等!
秋色園QBlog技術原理解析 開篇 整體認識 一
很多表示對秋色園的實現原理感興趣,有很多人,問了很多問題,包括 1 url位址怎麼沒有字尾?3 怎麼實現多 樣式的?4 怎麼只看到ashx檔案,看不到aspx頁面呢,頁面是如何如出來的?5 是不是mvc寫的?答 不是。6 支不支援mssql?7 生成的html怎麼沒有空格和換行符?8 看不懂.9 等...
測試部落格園
linux vnc server的安裝及簡單配置和使用。此文只適合普通的使用者 比如說在虛擬機器 內裝linux的朋友等等 這兒沒有在乎網路安全 如果需要在網際網路上使用那最好使用vpn或者使用ssl或者包裹vnc通訊。並開啟防火牆並配置好相關條件。這些教程將在以後發出。演示環境 虛擬機器 vmwa...
測試部落格園樣式
是面向開發者的知識分享社群,不允許發布任何推廣 廣告 政治方面的內容。首頁 即 首頁 只能發布原創的 高質量的 能讓讀者從中學到東西的內容。是面向開發者的知識分享社群,不允許發布任何推廣 廣告 政治方面的內容。首頁 即 首頁 只能發布原創的 高質量的 能讓讀者從中學到東西的內容。是面向開發者的知識分...