Tengo un filtro de acción con la siguiente firmacomportamiento extraño con la acción asp.net mvc filtra AttributeUsage
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
public class UnitOfWorkAttribute : ActionFilterAttribute
De acuerdo con MSDN:
La propiedad allowMultiple indica si varias instancias de su atributo puede existir en un elemento. Si se establece en verdadero, se permiten múltiples instancias ; si se establece en falso (valor predeterminado), solo se permite una instancia de .
En MVC el comportamiento parece un poco extraño. Cuando decoré una acción con este atributo, encontré que el método OnActionExecuting
del filtro se ejecutó dos veces.
El filtro solo se declaró en la acción, no en el controlador, y eliminé todos los filtros globales. ¿Podría alguien explicar este comportamiento?
¿Es simplemente _AllowMultiple_ el que provocará que _OnActionExecuting_ se llame dos veces, o de hecho decoraste tu acción con dos instancias del atributo? – Codo
@Codo, no, no necesito varias instancias, por lo que configurar AllowMultiple en false resuelve el problema, pero no lo explica. Posiblemente un error en asp.net mvc? –
la acción realmente no se disparó dos veces? solo el atributo? – dknaack