ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ko/dv_aspnetconfig/html/4174fd13-a9c4-4ff6-baa5-3f7d7fc73ef3.htm

이 항목에서는 HttpModulesSection 클래스 및 관련된 형식을 사용하여 웹 응용 프로그램 구성의 httpModules 요소를 프로그래밍 방식으로 구성하는 방법을 설명합니다.

HTTP 모듈은 IHttpModule 인터페이스를 구현하고 응용 프로그램 이벤트를 전달하여 요청 처리를 제공하는 형식입니다. HTTP 모듈에 대한 자세한 내용은 HTTP 모듈 소개를 참조하십시오.

다음 표에는 ASP.NET 웹 응용 프로그램에서 HTTP 모듈을 프로그래밍 방식으로 추가 및 제거하는 예제 HTTP 모듈 코드와 예제 구성이 포함된 관련 항목이 나와 있습니다. 이 예제에 있는 HTTP 모듈은 RequestTimeIntervalModule.dll이라는 단순한 라이브러리 응용 프로그램입니다. RequestTimeIntervalModule 클래스의 멤버는 웹 요청 시작과 끝 사이의 시간 간격을 계산하고 보안 주체의 ID를 가져온 다음 마지막으로 정보를 응용 프로그램의 웹 페이지에 표시합니다.

방법: 사용자 지정 HTTP 모듈 만들기

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ko/dv_aspnetcon/html/7787d5be-40a4-4072-9075-c2b767428453.htm

사용자 지정 HTTP 모듈 클래스를 만들려면

public class HelloWorldModule : IHttpModule
{
    public HelloWorldModule()
    {
    }

    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));
    }

    private void Application_BeginRequest(Object source, 
         EventArgs e)
    {
    // Create HttpApplication and HttpContext objects to access
    // request and response properties.
        HttpApplication application = (HttpApplication)source;
        HttpContext context = application.Context;
        context.Response.Write("<h1><font color=red>
            HelloWorldModule: Beginning of Request
            </font></h1><hr>");
    }

    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()
    {
    }
}

HTTP 모듈 등록

HelloWorldModule 클래스를 만든 후에는 Web.config 파일에서 항목을 만들어 모듈을 등록할 수 있습니다.

1.웹 사이트에 Web.config 파일이 없는 경우 사이트의 루트에 해당 파일을 만듭니다.

2.아래에 강조 표시된 코드를 Web.config 파일에 추가합니다

<configuration>
    <system.web>
        <httpModules>
           <add name="HelloWorldModule" type="HelloWorldModule"/>
        </httpModules>
    </system.web>
</configuration>

urlMappings 요소(ASP.NET 설정 스키마)

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.ko/dv_ASPNETgenref/html/96044a97-0541-4dfe-bfde-75ceee03b6ce.htm

<urlMappings enabled="true">
  <clear />
  <add url="~/Home.aspx" mappedUrl="~/Default.aspx?tab=home" />
  <remove url="~/Home2.aspx" />
</urlMappings>

+ Recent posts