RazorEngine String Layouts und Abschnitte?

Ich benutze einen Rasierapparat wie diesen:

<code>public class EmailService : IService
{
    private readonly ITemplateService templateService;

    public EmailService(ITemplateService templateService)
    {
        if (templateService == null)
        {
            throw new ArgumentNullException("templateService");
        }
        this.templateService = templateService;
    }

    public string GetEmailTemplate(string templateName)
    {
        if (templateName == null)
        {
            throw new ArgumentNullException("templateName");
        }
        Assembly assembly = Assembly.GetAssembly(typeof(EmailTemplate));
        Stream stream = assembly.GetManifestResourceStream(typeof(EmailTemplate), "{0}.cshtml".FormatWith(templateName));
        string template = stream.ReadFully();
        return template;
    }

    public string GetEmailBody(string templateName, object model = null)
    {
        if (templateName == null)
        {
            throw new ArgumentNullException("templateName");
        }
        string template = GetEmailTemplate(templateName);
        string emailBody = templateService.Parse(template, model, null, null);
        return emailBody;
    }
}
</code>

Der von mir verwendete Templating-Service wird injiziert, obwohl es sich nur um eine Standardimplementierung handelt:

<code>    internal ITemplateService InstanceDefaultTemplateService()
    {
        ITemplateServiceConfiguration configuration = new TemplateServiceConfiguration();
        ITemplateService service = new TemplateService(configuration);
        return service;
    }
</code>

Da ich in diesem Fall vor allem E-Mails aus diesen Vorlagen erstellen werde. Ich möchte verwenden können@sections für den Betreff der E-Mail und verschiedene Abschnitte des E-Mail-Texts. Dabei verwende ich ein Layout, in dem ich die Stile spezifiziere, die für die gesamte E-Mail-Struktur gelten (die wie eine der folgenden aussehen wird)MailChimpist wahrscheinlich).

Die Frage ist dann zweifach:

Wie kann ich Layouts in angeben?RazorEngine?Wie kann ich diese Layouts aus Zeichenfolgen (oder einem Stream) angeben? Wie Sie sehen, verwende ich eingebettete Ressourcen zum Speichern der Rasierer-E-Mail-Vorlagen.Aktualisieren

Vielleicht war mir nicht klar, aber ich beziehe mich auf dieRazorEngine Bibliothek.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage