• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 同步http處理程序(IHttpHandler)

    發表于:2007-04-22來源:作者:點擊數: 標簽:http程序同步IHttpHandler處理
    本主題闡釋一個 HTTP 處理程序的代碼,該處理程序對 ASP.NET 應用程序中其 URL 以 .sample 結尾的資源執行同步請求處理。此代碼示例闡釋了下列內容: 一個 HTTP 處理程序類的代碼。該類必須實現 ProcessRequest 方法和 IsReusable 屬性。 Web.config 文件中
     

    本主題闡釋一個 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 類中定義的文本

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>