Inyección de dependencia de RazorEngine V3
-
28-10-2019 - |
Pregunta
Necesito escribir una plantilla base personalizada que necesite inyectar un parámetro de constructor.
Para RazorEngine V2 este ilustra muy claramente cómo se debe hacer.
¿Cómo se debe hacer la plantilla base personalizada en v3? Quiero decir, ¿todavía hay una forma de expresar activador a través de Func<>
?
Solución
Esto aún es muy posible, el método por el cual configura su servicio de plantilla ha cambiado, ya que quería centralizar toda la configuración en una interfaz. The following url (https://github.com/Antaris/RazorEngine/blob/release-3.0/src/Core/Tests/RazorEngine.Core.Tests/ActivatorTestFixture.cs) is an example of a unit test I've built that Demuestra el uso de DI con Unity, este específicamente está usando un activador.
A DelegateActivator
existe en el RazorEngine.Templating
espacio de nombres que le permitirá lograr lo que desea. Estoy buscando formas de tratar de simplificar esto. También puede configurarlo utilizando la API de configuración fluida:
var config = new FluentTemplateServiceConfiguration(c =>
c.ActivateUsing(context => {your code here}));
var service = new TemplateService(config);