Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

ActionFilterAttribute (Clase)

Visual Studio 2010

Representa la clase base para todos los atributos acción-filtro.

Espacio de nombres:  System.Web.Mvc
Ensamblado:  System.Web.Mvc (en System.Web.Mvc.dll)

[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, Inherited = true, 
	AllowMultiple = false)]
public abstract class ActionFilterAttribute : FilterAttribute, 
	IActionFilter, IResultFilter

El tipo ActionFilterAttribute expone los siguientes miembros.

  NombreDescripción
Método protegidoActionFilterAttributeInicializa una nueva instancia de la clase ActionFilterAttribute.
Arriba

  NombreDescripción
Propiedad públicaOrderObtiene o establece el orden en el que se ejecutan los filtros de acción. (Se hereda de FilterAttribute).
Propiedad públicaTypeIdCuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Se hereda de Attribute).
Arriba

  NombreDescripción
Método públicoEqualsInfraestructura. Devuelve un valor que indica si esta instancia equivale a un objeto especificado. (Se hereda de Attribute).
Método protegidoFinalizePermite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetHashCodeDevuelve el código hash de esta instancia. (Se hereda de Attribute).
Método públicoGetTypeObtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método públicoIsDefaultAttributeCuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado para la clase derivada. (Se hereda de Attribute).
Método públicoMatchCuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Se hereda de Attribute).
Método protegidoMemberwiseCloneCrea una copia superficial del objeto Object actual. (Se hereda de Object).
Método públicoOnActionExecutedLlamado por el marco MVC cuando se ejecuta el método de acción.
Método públicoOnActionExecutingLlamado por el marco MVC antes de que se ejecute el método de acción.
Método públicoOnResultExecutedLlamado por el marco MVC cuando se ejecuta el resultado de la acción.
Método públicoOnResultExecutingLlamado por el marco MVC antes de que se ejecute el resultado de la acción.
Método públicoToStringDevuelve una cadena que representa el objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privado_Attribute.GetIDsOfNamesAsigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.GetTypeInfoObtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.GetTypeInfoCountRecupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.InvokeProporciona acceso a las propiedades y los métodos expuestos por un objeto. (Se hereda de Attribute).
Arriba

Normalmente, crea un filtro de acción creando una clase de atributos que hereda de la clase FilterAttribute abstracta. Algunos filtros de acción integrados, como AuthorizeAttribute y HandleErrorAttribute, se heredan de la clase FilterAttribute. Los filtros de acción que derivan FilterAttribute se llaman siempre antes de que se ejecute el método de acción.

Otros filtros de acción, como OutputCacheAttribute, se heredan de la clase ActionFilterAttribute abstracta, que permite que el filtro de acción se ejecute antes o después de que se ejecute el método de acción.

Puede usar atributos de filtro de acción para marcar métodos de acción o controladores. Si el atributo marca un controlador, el filtro de acción se aplica a todos los métodos de acción de ese controlador.

Para obtener más información acerca de la forma de utilizar atributos, vea Extender metadatos mediante atributos.

En el ejemplo siguiente se muestra cómo crear un filtro de acción simple que registra los mensajes de seguimiento antes y después de que se llame a un método de acción.


public class LoggingFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        filterContext.HttpContext.Trace.Write("(Logging Filter)Action Executing: " +
            filterContext.ActionDescriptor.ActionName);

        base.OnActionExecuting(filterContext);
    }

    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        if (filterContext.Exception != null)
            filterContext.HttpContext.Trace.Write("(Logging Filter)Exception thrown");

        base.OnActionExecuted(filterContext);
    }
}


Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Mostrar: