• 自定义 HttpModule 示例


    下面的自定义模块只是在任何 HTTP 请求的开头返回一个 Web 页消息和并在处理完该请求后返回另一个 Web 页消息。下面的 Init 函数为两个 HttpApplication 事件 BeginRequestEndRequest 注册事件处理程序。每个事件处理程序都编写为模块的私有方法。当已注册的事件被引发时,ASP.NET 将调用适当的处理程序方法,该方法写一个 Web 页然后返回。

    [C#]
    using System;
    using System.Web;
    using System.Collections;
    public class HelloWorldModule : IHttpModule {
    public String ModuleName {
    get { return "HelloWorldModule"; }
    }
    // In the Init function, register for HttpApplication
    // events by adding your handlers.
    public void Init(HttpApplication application) {
    application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
    application.EndRequest += (new EventHandler(this.Application_EndRequest));
    }
    // Your BeginRequest event handler.
    private void Application_BeginRequest(Object source, EventArgs e) {
    HttpApplication application = (HttpApplication)source;
    HttpContext context = application.Context;
    context.Response.Write("<h1><font color=red>HelloWorldModule: Beginning of Request</font></h1><hr>");
    }
    // Your EndRequest event handler.
    private void Application_EndRequest(Object source, EventArgs e) {
    HttpApplication application = (HttpApplication)source;
    HttpContext context = application.Context;
    context.Response.Write("<hr><h1><font color=red>HelloWorldModule: End of Request</font></h1>");
    }
    public void Dispose()
    {
    }
    }
    [Visual Basic]
    Imports System
    Imports System.Web
    Imports System.Collections
    Public Class HelloWorldModule
    Implements IHttpModule
    Public ReadOnly Property ModuleName() As [String]
    Get
    Return "HelloWorldModule"
    End Get
    End Property
    ' In the Init function, register for HttpApplication
    ' events by adding your handlers.
    Public Sub Init(ByVal application As HttpApplication) Implements IHttpModule.Init
    AddHandler application.BeginRequest, AddressOf Me.Application_BeginRequest
    AddHandler application.EndRequest, AddressOf Me.Application_EndRequest
    End Sub
    ' Your BeginRequest event handler.
    Private Sub Application_BeginRequest(ByVal [source] As [Object], ByVal e As EventArgs)
    Dim application As HttpApplication = CType([source], HttpApplication)
    Dim context As HttpContext = application.Context
    context.Response.Write("<h1><font color=red>HelloWorldModule: Beginning of Request</font></h1><hr>")
    End Sub
    ' Your EndRequest event handler.
    Private Sub Application_EndRequest(ByVal [source] As [Object], ByVal e As EventArgs)
    Dim application As HttpApplication = CType([source], HttpApplication)
    Dim context As HttpContext = application.Context
    context.Response.Write("<hr><h1><font color=red>HelloWorldModule: End of Request</font></h1>")
    End Sub
    Public Sub Dispose() Implements IHttpModule.Dispose
    End Sub
    End Class

    如下所示注册该模块:

    <configuration>
    <system.web>
    <httpModules>
    <!-- <add name="HelloWorldModule"
    type="HelloWorldModule, HelloWorldModule" /> -->
    </httpModules>
    </system.web>
    </configuration>
  • 相关阅读:
    html/form表单常用属性认识
    css复杂动画(animation属性)
    css样式水平居中和垂直居中的方法
    css简单动画(transition属性)
    html/css中map和area的应用
    html/css弹性布局的几大常用属性详解
    webpack优化配置
    webpack配置详解
    使用Node.js搭建一个简单的web服务器(二):搭建一个简单的服务器
    使用Node.js搭建一个简单的web服务器(一):Node.js入门
  • 原文地址:https://www.cnblogs.com/wzyexf/p/364357.html
Copyright © 2020-2023  润新知