ASP.NET HTTP模組和處理常式(1)

來源:互聯網
上載者:User
介紹
  
    在Internet時代的開端,用戶端的需求非常有限;.htm檔案就可以滿足他們的需求。但是,隨著時間的流逝,用戶端需求的擴充超越了.htm檔案或靜態檔案所包含的功能。
  
  開發人員需要擴充或擴充Web伺服器的功能。Web伺服器廠商設計了不同的解決方案,但是都遵循同一個主題“向Web伺服器插入某些組件”。所有的Web伺服器補充技術都允許開發人員建立並插入組件以增強Web伺服器的功能。微軟公司提出了ISAPI(Internet伺服器API),網景公司提出了NSAPI(網景伺服器API)等等。
  
    ISAPI是一種重要的技術,它允許我們增強與ISAPI相容的Web伺服器(IIS就是一種與ISAPI相容的Web伺服器)的能力。我們使用下面的組件達到這個目的:
  
    · ISAPI擴充
  
    · ISAPI過濾器
  
    ISAPI擴充是使用Win32動態連結程式庫來實現的。你可以把ISAPI擴充看作是一個普通的應用程式。ISAPI擴充的處理目標是http請求。這意味著你必須調用它們才能啟用它們。 你可以認為ISAPI過濾器僅僅就是一個過濾器而已。用戶端每次向伺服器發出請求的時候,請求要經過過濾器。用戶端不需要在請求中指定過濾器,只需要簡單地把請求發送給Web伺服器,接著Web伺服器把請求傳遞給相關的過濾器。接下來過濾器可能修改請求,執行某些登入操作等等。
  
    由於這些組件的複雜性,實現它們非常困難。開發人員不得不使用C/C++來開發這些組件,但是對於很多人來說,使用C/C++進行開發簡直就是痛苦的代名詞。
  
    那麼ASP.NET提供什麼東西來實現這些功能呢?ASP.NET提供的是HttpHandler(HTTP處理常式)和HttpModule(HTTP模組)。
  
    在深入瞭解這些組件的詳細資料之前,瞭解一下http請求經過HTTP模組和HTTP處理常式的時候的處理流程是有價值的。
  
    建立應用程式範例
  
    我建立了下面一些的C#項目以示範應用程式的不同組件:
  
    · NewHandler (HTTP處理常式)
  
    · Webapp (示範HTTP處理常式)
  
    · SecurityModules (HTTP模組)
  
    · Webapp2 (示範HTTP模組)
  
    這些應用程式的安裝步驟:
  
    · 解開attached zip檔案中的所以代碼。
  
    · 建立兩個虛擬目錄webapp和webapp2;把這兩個目錄指向Webapp和Webapp2應用程式的實際物理目錄。
  
    · 把NewHandler項目中的Newhandler.dll檔案複製到webapp應用程式的bin目錄。
  
    · 把SecurityModules項目中的SecurityModules.dll檔案複製到webapp2應用程式的bin目錄中。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.