国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Community Server專題三:HttpModule

2024-07-10 12:40:23
字體:
來源:轉載
供稿:網友
從專題三開始分析Community Server的一些具體的技術實現,根據IIS對請求的處理流程,從HttpModule&  HttpHandler切入話題,同時你也可以通過一系列的專題了解CS的運行過程,不只如此,所有的.Net 1.1 構架的Web App都是以同樣的順序執行的。

先了解一下IIS系統。它是一個程序,負責對網站的內容進行管理并且處理對客戶的請求做出反應。當用戶對一個頁面提出請求時,IIS做如下反應(不考慮權限問題):

1.把對方請求的虛擬路徑轉換成物理路徑

2.根據物理路徑搜索請求的文件

3.找到文件后,獲取文件的內容

4.生成Http頭信息。

5.向客戶端發送所有的文件內容:首先是頭信息,然后是Html內容,最后是其它文件的內容。

6.客戶端IE瀏覽器獲得信息后,解析文件內容,找出其中的引用文件,如.js .css .gif等,向IIS請求這些文件。

7.IIS獲取請求后,發送文件內容。

8.當瀏覽器獲取所有內容后,生成內容界面,客戶就看到圖像/文本/其它內容了。

但是IIS本身是不支持動態頁面的,也就是說它僅僅支持靜態html頁面的內容,對于如.asp,.aspx,.cgi,.php等,IIS并不會處理這些標記,它就會把它當作文本,絲毫不做處理發送到客戶端。為了解決這個問題。IIS有一種機制,叫做ISAPI的篩選器,這個東西是一個標準組件(COM組件),當在在訪問IIS所不能處理的文件時,如asp.net 1.1 中的IIS附加ISAPI篩選器如圖:



Asp.net 服務在注冊到IIS的時候,會把每個擴展可以處理的文件擴展名注冊到IIS里面(如:*.ascx、*.aspx等)。擴展啟動后,就根據定義好的方式來處理IIS所不能處理的文件,然后把控制權跳轉到專門處理代碼的進程中。讓這個進程開始處理代碼,生成標準的HTML代碼,生成后把這些代碼加入到原有的 Html中,最后把完整的Html返回給IIS,IIS再把內容發送到客戶端。

    有上面對ISAPI的簡單描述,我們把HttpModule& HttpHandler分開討論,并且結合CS進行具體的實現分析。

HttpModule:

HttpModule實現了ISAPI Filter的功能,是通過對IhttpModule接口的繼承來處理。下面打開CS中的CommunityServerComponents項目下的CSHttpModule.cs文件(放在HttpModule目錄)


//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using System.IO;
using System.Web;
using CommunityServer.Components;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仁怀市| 奉贤区| 荃湾区| 玉田县| 台中市| 鄯善县| 临高县| 三江| 米泉市| 南和县| 遵化市| 宜黄县| 巴彦淖尔市| 九寨沟县| 杭锦后旗| 工布江达县| 新余市| 澄城县| 江源县| 宜兴市| 红安县| 上饶市| 芦溪县| 淮滨县| 佛冈县| 清水河县| 永善县| 永新县| 彭泽县| 蓬安县| 琼中| 通化市| 洞头县| 综艺| 九龙县| 那坡县| 张掖市| 镇平县| 九龙县| 和龙市| 东乡|