Инъекция зависимости RazorEngine v3 - PullRequest
3 голосов
/ 15 января 2012

Мне нужно написать собственный базовый шаблон, в который должен быть вставлен параметр конструктора.

Для RazorEngine v2 это очень ясно иллюстрирует, как это сделать.

Как сделать пользовательский базовый шаблон DI в v3?Я имею в виду, есть ли еще способ выразить активатор через Func<>?

1 Ответ

3 голосов
/ 19 января 2012

Это все еще очень возможно, метод, с помощью которого вы конфигурируете службу шаблонов, изменился, поскольку я хотел централизовать всю конфигурацию в одном интерфейсе.Следующий URL (https://github.com/Antaris/RazorEngine/blob/release-3.0/src/Core/Tests/RazorEngine.Core.Tests/ActivatorTestFixture.cs) - пример созданного мной модульного теста, который демонстрирует использование DI с Unity, в частности, используется активатор.

A DelegateActivator существует в RazorEngine.Templatingпространство имен, которое позволит вам достичь того, чего вы хотите. Я ищу способы упростить это. Вы также можете настроить его с помощью API конфигурации Fluent:

var config = new FluentTemplateServiceConfiguration(c =>
    c.ActivateUsing(context => {your code here}));

var service = new TemplateService(config);
...