Pregunta ¿Cuál es el propósito de FilterConfig.RegisterGlobalFilters (GlobalFilters.Filters) dentro de Global.asax [cerrado]


He leído la pregunta similar¿Cuál es el propósito de RegisterGlobalFilter?

pero incapaz de obtener la respuesta, la pregunta también gira en torno a otras cosas y la respuesta no me parece satisfactoria.

Mi pregunta es:- ¿Cuál es el propósito de esta línea dentro de global.asax en MVC 5? FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

  1. Por qué es necesario?
  2. ¿Cuál es el propósito de agregar / registrar filtros?
  3. ¿Qué tiene que hacer el filtro?

32
2017-10-13 19:02


origen


Respuestas:


los FilterConfig es una clase personalizada en tu código, normalmente debajo de la carpeta App_Start y generalmente se ve algo así:

public class FilterConfig {
    public static void RegisterGlobalFilters(GlobalFilterCollection filters) {
        filters.Add(new HandleErrorAttribute());
    }
}

Puede agregar filtros personalizados a esta lista que se deben ejecutar en cada solicitud. Si heredas de la FilterAttribute clase o uno de sus herederos puede crear sus propios filtros, por ejemplo, un filtro de registro.

También puede aplicar estos filtros a los controladores que requieren ciertas restricciones. Por ejemplo, si agrega el [RequireHttps] filtrar atributo (ejemplo a continuación) a un controlador o un método en su controlador, el usuario debe usar una solicitud https para ejecutar el código en el método. Entonces, en lugar de manejarlo en cada método, el filtro se encarga de eso.

[RequireHttps]
public class MyController : ApiController {
    // only https requests will get through to this method.
    [HttpGet]
    public IHttpActionResult Get() {
       return Ok();
    }
}

Puede pensarlo como una pequeña caja que se encuentra entre el navegador de los usuarios y su controlador y filtros cualquier solicitud no válida, o una que se ejecuta cuando un controlador está listo y necesita posprocesar el resultado para el usuario.

Si desea leer más, msdn tiene más detalles sobre los filtros en Filtrado en ASP.NET MVC.


41
2017-10-13 19:40