문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

ASP.NET MVC 응용 프로그램에서 작업 필터링

Visual Studio 2010

ASP.NET MVC에서 컨트롤러는 작업 메서드를 정의하며 이 메서드는 일반적으로 링크 클릭 또는 양식 제출 등의 가능한 사용자 상호 작용과 일대일 관계에 있습니다. 예를 들어, 사용자가 링크를 클릭할 경우 지정된 컨트롤러로 요청이 라우팅되고 해당하는 작업 메서드가 호출됩니다.

작업 메서드가 호출되기 이전 또는 작업 메서드가 실행된 이후에 논리를 수행하고 싶을 경우가 있을 수 있습니다. 원하는 시점에 논리를 수행할 수 있도록 지원하기 위해 ASP.NET MVC에서는 작업 필터를 제공합니다. 작업 필터는 작업 이전 및 작업 이후의 동작을 컨트롤러 작업 메서드에 추가할 수 있는 선언적 방법을 제공하는 사용자 지정 특성입니다.

ASP.NET MVC에서는 다음과 같은 유형의 작업 필터를 제공합니다.

  • 권한 부여 필터. 작업 메서드를 실행할지 여부와 관련하여 인증 수행 또는 요청의 속성에 대한 유효성 검사 등의 보안 결정을 내립니다. 권한 부여 필터의 예로 AuthorizeAttribute 클래스가 있습니다.

  • 작업 필터. 작업 메서드 실행을 래핑합니다. 이 필터는 작업 메서드에 추가 데이터를 제공하거나 반환 값을 검사하거나 작업 메서드 실행을 취소하는 등의 추가적인 처리를 수행할 수 있습니다.

  • 결과 필터. ActionResult 개체의 실행을 래핑합니다. 이 필터는 결과에 대해 HTTP 응답 수정 같은 추가적인 처리를 수행할 수 있습니다. 결과 필터의 예로 OutputCacheAttribute 클래스가 있습니다.

  • 예외 필터. 작업 메서드에서 권한 부여 필터부터 결과 실행까지의 과정 중에 throw되어 처리되지 않은 예외가 있을 경우 실행됩니다. 예외 필터는 로깅 또는 오류 페이지 표시 등의 작업에 사용될 수 있습니다. 예외 필터의 예로 HandleErrorAttribute 클래스가 있습니다.

일반적으로 작업 필터는 추상 클래스 FilterAttribute를 구현하는 특성입니다. AuthorizeAttribute HandleErrorAttribute 등의 일부 작업 필터는 FilterAttribute 클래스를 직접 구현합니다. 이러한 작업 필터는 항상 작업 메서드 실행 전에 호출됩니다.

OutputCacheAttribute 등의 다른 작업 필터는 추상 클래스 ActionFilterAttribute를 구현하며 이 구현을 통해 작업 필터는 작업 메서드 실행 이전 또는 이후에 실행될 수 있습니다.

작업 필터 특성은 작업 메서드 또는 컨트롤러를 표시하는 데 사용할 수 있습니다. 이 특성으로 컨트롤러를 표시할 경우 작업 필터는 해당 컨트롤러의 모든 작업 메서드에 적용됩니다.

다음 예제에서는 HomeController 클래스의 기본 구현을 보여 줍니다. 이 예제에서 HandleError 특성은 컨트롤러를 표시하는 데 사용됩니다. 따라서 필터는 해당 컨트롤러의 두 작업 메서드에 적용됩니다.


[HandleError]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewData["Message"] = "Welcome to ASP.NET MVC!";

        return View();
    }

    public ActionResult About()
    {
        return View();
    }
}


제목

설명

AuthorizeAttribute

Authorize 특성을 사용하여 작업 메서드에 대한 액세스를 제어하는 방법에 대해 설명합니다.

OutputCacheAttribute

OutputCache 특성을 사용하여 작업 메서드에 대해 출력 캐싱을 제공하는 방법에 대해 설명합니다.

HandleErrorAttribute

HandleError 특성을 사용하여 작업 메서드에서 throw한 예외를 처리하는 방법에 대해 설명합니다.

사용자 지정 작업 필터 만들기

사용자 지정 작업 필터를 구현하는 방법에 대해 설명합니다.

방법: 사용자 지정 작업 필터 만들기

사용자 지정 작업 필터를 MVC 응용 프로그램에 추가하는 방법에 대해 설명합니다.

표시: