Tengo una clase de atributo personalizada derivada de AuthorizationAttribute, que realiza seguridad personalizada en las acciones del controlador. El método OnAuthorizationCore depende de varios otros componentes (por ejemplo, DAL) para determinar si un usuario puede invocar una acción.Cómo resuelvo la Inyección de dependencia en los atributos del filtro MVC
Estoy usando Autofac para inyección de dependencia. ExtensibleActionInvoker afirma ser capaz de realizar inyecciones de propiedad en filtros de acción. Establecer las propiedades de un atributo en el tiempo de ejecución (lo cual parece una mala idea) funcionará en una simple prueba de unidad, pero en un servidor web ocupado y de subprocesos múltiples es inevitable que salga mal, por lo que esta idea parece un antipatrón. De ahí esta pregunta:
Si mi AuthorizationAttribute depende de otros componentes para funcionar correctamente, ¿cuál es el patrón de [arquitectura] correcto para lograr esto?
es decir, AuthorizationAttribute depende de IUserRepository ... cómo debería resolver esta relación?
Gracias Nick, ¡tanto por una respuesta exhaustiva como por un marco brillante! – Mark