Esta división fue evaluado por especialistas para asegurar la veracidad de nuestro tutorial.
Solución:
En julio de 2016, Jimmy Bogard, autor de MediatR, lanzó un paquete para registrar MediatR y los controladores con el servicio ASP.Net Core DI (que en realidad es la interfaz IServiceCollection
implementado en Microsoft.Extensions.DependencyInjection
y cuyo uso no está restringido únicamente dentro de ASP.Net Core).
MediatR.Extensions.Microsoft.DependencyInjection
Enlace al Proyecto GitHub.
Vínculo a la información del paquete NuGet.
Puede encontrar una publicación de blog que presenta el paquete y sus capacidades aquí
Ejemplo de registro copiado directamente de la publicación de blog (muy breve):
public void ConfigureServices(IServiceCollection services)
services.AddMvc();
services.AddMediatR(typeof(Startup));
Este paquete realiza varias funciones para habilitar MediatR, incluida la exploración necesaria de ensamblajes para los controladores:
Puede pasar los ensamblajes donde se encuentran sus controladores, o puede pasar objetos Tipo desde los ensamblajes donde residen esos controladores. La extensión agregará la interfaz IMediator a sus servicios, todos los controladores y las fábricas de delegados correctas para cargar controladores. Luego, en su controlador, puede usar una dependencia de IMediator:
public class HomeController : Controller
private readonly IMediator _mediator;
public HomeController(IMediator mediator)
_mediator = mediator;
public IActionResult Index()
var pong = _mediator.Send(new Ping Value = "Ping");
return View(pong);
Lo tengo funcionando, mi código:
public void ConfigureServices(IServiceCollection services)
services.AddScoped(p => t => p.GetRequiredService(t));
services.AddScoped(p => t => p.GetRequiredServices(t));
services.Scan(scan => scan
.FromAssembliesOf(typeof(IMediator), typeof(MyHandlerOne.Handler))
.FromAssembliesOf(typeof(IMediator), typeof(MyHandlerTwo.Handler))
.AddClasses()
.AsImplementedInterfaces());
y tengo una clase que implementa el GetRequiredService que necesita MultiInstanceFactory:
public static class GetServices
public static IEnumerable
valoraciones y comentarios
Si estás contento con lo expuesto, eres capaz de dejar un tutorial acerca de qué le añadirías a esta noticia.