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<>?

¿Fue útil?

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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top