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

首頁 > 學院 > 開發設計 > 正文

同步http處理程序(IHttpHandler)

2019-11-18 16:44:09
字體:
來源:轉載
供稿:網友

本主題闡釋一個 HTTP 處理程序的代碼,該處理程序對 asp.net 應用程序中其 URL 以 .sample 結尾的資源執行同步請求處理。此代碼示例闡釋了下列內容:

一個 HTTP 處理程序類的代碼。該類必須實現 PRocessRequest 方法和 IsReusable 屬性。

Web.config 文件中注冊該處理程序并將 .sample 文件擴展名映射到該處理程序所需的元素。

如何在 Internet 信息服務 (IIS) 中將 .sample 文件擴展名映射到 ASP.NET。

注意
在將配置文件更改為包含對新處理程序的引用后,ASP.NET Development Server 將處理對新資源的請求。若要啟用 IIS 以處理該請求,請參見下面的過程。
 

當用戶請求一個其 URL 以 .sample 結尾的資源時,Web 服務器將該請求轉發給 ASP.NET。然后 ASP.NET 調用 HTTP 處理程序,后者返回一個響應。該響應由該處理程序動態創建;不需要存在具有文件擴展名 .sample 的文件。有關 ASP.NET 如何與 Web 服務器交互的更多信息,請參見 ASP.NET 生命周期。

創建自定義 HelloWorldHandler HTTP 處理程序類
在網站的 App_Code 目錄中,創建一個名為 HelloWorldHandler 的類。

向類文件中添加下面的代碼。

Visual Basic  
Imports System.Web
                Public Class HelloWorldHandler
                Implements IHttpHandler
                Public Sub ProcessRequest(ByVal context As _
                System.Web.HttpContext) Implements _
                System.Web.IHttpHandler.ProcessRequest
                Dim request As HttpRequest = context.Request
                Dim response As HttpResponse = context.Response
                ' This handler is called whenever a file ending
                ' in .sample is requested. A file with that extension
                ' does not need to exist.
                response.Write("<html>")
                response.Write("<body>")
                response.Write("<h1>Hello from a synchronous custom HTTP handler.</h1>")
                response.Write("</body>")
                response.Write("</html>")
                End Sub
                Public ReadOnly Property IsReusable() As Boolean _
                Implements System.Web.IHttpHandler.IsReusable
                Get
                Return False
                End Get
                End Property
                End Class
 

 

C#  
using System.Web;
                public class HelloWorldHandler : IHttpHandler
                {
                public HelloWorldHandler()
                {
                }
                public void ProcessRequest(HttpContext context)
                {
                HttpRequest Request = context.Request;
                HttpResponse Response = context.Response;
                // This handler is called whenever a file ending
                // in .sample is requested. A file with that extension
                // does not need to exist.
                Response.Write("<html>");
                Response.Write("<body>");
                Response.Write("<h1>Hello from a synchronous custom HTTP handler.</h1>");
                Response.Write("</body>");
                Response.Write("</html>");
                }
                public bool IsReusable
                {
                // To enable pooling, return true here.
                // This keeps the handler in memory.
                get { return false; }
                }
                }
 

這段代碼實現 ProcessRequest 方法并將一個字符串寫出到當前 HttpContext 對象的 Response 屬性中。

注冊自定義 HTTP 處理程序
創建完自定義 HTTP 處理程序類后,必須在應用程序的 Web.config 文件中注冊它。這樣,ASP.NET 在接收對其 URL 以 .sample 結尾的資源進行的請求時,可以找到該處理程序。

在 Web.config 文件中注冊自定義 HTTP 處理程序
將一個 Web.config 文件添加到網站(如果該文件尚未存在)。

將下面突出顯示的元素添加到 Web.config 文件中。

  
<configuration>
                <system.web>
                <httpHandlers>            <add verb="*" path="*.sample"                   type="HelloWorldHandler"/>        </httpHandlers>
                </system.web>
                </configuration>
 

這段代碼按類名注冊自定義處理程序,并將 .sample 文件擴展名映射到該處理程序。

在 IIS 6.0 中配置 HTTP 處理程序擴展名
IIS 只將針對某些文件類型的請求傳遞給 ASP.NET 進行處理。默認情況下,具有 .aspx、.ascx、.asmx 等文件擴展名的文件在 IIS 6.0 中已映射為 ASP.NET ISAPI 擴展名 (Aspnet_isapi.dll)。但如果希望 ASP.NET 處理自定義 URL 擴展名,則必須在 IIS 中映射這些擴展名。有關更多信息,請參見 ASP.NET 生命周期。

在 IIS 6.0 中將 .sample 文件擴展名映射到 ASP.NET
打開“Internet 信息服務(IIS)管理器”。

右擊應用程序的名稱,然后單擊“屬性”。

注意
有關創建 ASP.NET 應用程序的說明,請參見如何:在 IIS 中創建并配置本地 ASP.NET 網站。
 

單擊“虛擬目錄”選項卡,然后單擊“配置”。

在“映射”選項卡上,單擊“添加”。

將顯示“添加/編輯應用程序擴展名映射”對話框。

在“可執行文件”框中,鍵入或瀏覽至 Aspnet_isapi.dll 文件。默認情況下,該文件位于以下位置。

  
%windows%/Microsoft.NET/Framework/version/
 

注意
可以從其他映射(如 .aspx 文件的映射)獲得完整路徑和文件名。
 

在“擴展名”框中,鍵入 .sample。

清除“確認文件是否存在”復選框。

單擊“確定”,然后關閉 IIS 管理器。

測試自定義 HTTP 處理程序
創建并注冊了自定義 HTTP 處理程序后,可以通過請求具有 .sample 文件擴展名的資源對其進行測試。

測試自定義 HTTP 處理程序
在瀏覽器中,輸入一個指向 Web 應用程序并以 .sample 結尾的 URL,如下所示:

  
http://localhost/Sampleapplication/test.sample
 

將顯示在 HelloWorldHandler 類中定義的文本。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新密市| 望江县| 江安县| 怀安县| 本溪市| 章丘市| 桑植县| 合川市| 呼和浩特市| 宁安市| 孝昌县| 重庆市| 汉阴县| 广安市| 惠来县| 琼结县| 屯昌县| 三原县| 彭州市| 辽宁省| 乐业县| 曲靖市| 新泰市| 宾川县| 伊通| 故城县| 凭祥市| 巩留县| 焦作市| 正蓝旗| 永宁县| 巢湖市| 大化| 云南省| 自治县| 林口县| 渑池县| 昌平区| 贵港市| 当涂县| 正安县|