DNN中的HttpModule

來源:互聯網
上載者:User
 

HttpModule幹什麼,怎麼實現,可以去看二十四畫生前輩的http://esshs.cnblogs.com/archive/2005/05/14/155339.html或是其中提到的msdn文檔:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconhandlingpublicevents.asp或http://www.microsoft.com/china/MSDN/library/architecture/patterns/esp/ImpInterCEptingFilterInASP.mspx。

DNN中有9個HttpMoudle。都在HttpMoudles檔案夾下。大致看了下,對這幾個模組幹什麼有了個初步的瞭解。也讓我更清楚什麼事應該放在HttpMoudle中做。什麼時機來做。

l         AutoUpgradeModule:這是DNN實現線上安裝的關鍵,它會判斷是否需要安裝,或者是否需要升級資料庫。而調用Upgrade服務。

l         CachingModule:不是很清楚幹什麼的。調用了FileSystem服務。Mark一下,下次來看。

l         DNNMembershipModule:在application.AuthenticateRequest加掛了處理許可權的方法。

l         ExceptionModule:在application.Error上加掛了處理錯誤的方法。

l         LoggingModule:分別在Init和Dispose中進行了一次日誌的記錄。

l         PersonalizationModule:在application.EndRequest進行本地化。即通過User的資訊載入相應的語言套件。如果是匿名使用者則按預設值進行。很想瞭解怎麼像Google一樣實現動態本地化。(具體實現細節還沒有學習,好像對匿名使用者有於Asp2.0相似的處理)

l         SchedulerModule:啟用或停止一個與application相關的調度線程。

l         UsersOnlineModule:在application.AuthorizeRequest進行線上使用者列表的更新。在UserOnlineController中可以看到具體修改的內容。

l         UrlRewriteModule:處理關於Url具體的分析。是整個頁面動態載入的用一個關鍵。從具體的Url可以看出來。幾乎所有頁面都是以Default.aspx來結尾的。說明它們都是動態書寫的沒有這個定位系統來傳遞資訊,也是沒有辦法正常進行的。相關的類在HttpModules\UrlRewrite\Config檔案夾下。主目錄的SiteUrls.xml定義了一些正則規則式。看這個東西我會比較頭痛。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.