程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET使用管道模型(PipleLines)處理HTTP請求

ASP.NET使用管道模型(PipleLines)處理HTTP請求

編輯:.NET實例教程
大多數人認為ASP.NET僅僅只是頁面——使用模板來創建Html頁面然後返回給浏覽器。但是這僅僅只是ASP.NET使用HTTP管道模型處理WEB程序很小的一方面。管道模型是類似於Web Services的一種在服務器端處理ASP.NET頁面的框架技術。作為一名高級的ASP.Net的開發者,你必須清楚管道模型是如何工作的。這篇文章就是解釋和闡述HTTP管道模型是如何處理HTTP請求的。
一、管道對象模型
在System.Web的命名空間中處理HTTP的請求主要使用管道模型。一般的管道模型的結構如圖-1。在管道模型開始運行前,HTTP的請求首先被傳到HttpRuntime類的一個實例中,然後這個HttpRuntime的對象開始檢查請求並找出這個請求被發送到的那個應用程序(在管道程序看來,一個虛擬目錄就是一個應用程序)。然後管道模型就使用一個HttpApplicationFactory對象來找出或者創建一個HttpApplication對象來處理這個請求,一個HttpApplication可以包含一系列HTTP module對象(派生自IHttpModule接口)。HTTP modules作為一個過濾器可以在HTTP請求和響應信息穿過管道模型時檢查和修改這些信息的內容。然後HttpApplication對象就使用HTTP handler factory來找出或產生一個HTTP handler對象。HTTP handlers是HTTP通信的最後一步,它主要用於處理請求信息(request)和響應信息(response)。注:HTTP handlers和 handler factory分別派生自IHttpHandler接口和IHttpHandlerFactory接口。


圖-1

一個HttpApplication包括它的modules、handler在同一時刻只能處理一個Request請求。如果多重request請求同時到達一個相同的application時,多重HttpApplication對象將會被使用。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved