Pergunta

Estamos procurando uma maneira rápida e flexível de gerar conteúdo modelo (neste caso, e-mails personalizados no formato de texto e HTML) a partir de um aplicativo de console .NET.

Não temos o VirtualPathProvider nem válido httpcontext.current, que, de nossos experimentos iniciais, significa que será muito, muito difícil usar o mecanismo de visualização da WebForms, e qualquer outro .NET Web View Engines (Spark, Razor) são vai precisar de um encanamento extenso para fazê -los pensar que estão executando em um aplicativo da web.

Eu quero fazer algo como:

var customerTemplateData = GetTemplateDate(customer);
var htmlBody = templateEngine.Render("template.html", customerTemplateData);
var textBody = templateEngine.Render("template.txt", customerTemplateDate);
SendMail("me@mydomain.com", customer.Email, "Hey there!", htmlBody, textBody);

E eu quero fazer isso com dados aninhados complexos, muitas listas dentro de listas, até 1.000 vezes por minuto.

Quaisquer recomendações para mecanismos de modelo dedicados ou maneiras de executar os mecanismos de visualização da web em um contexto independente seria mais apreciado :)

Obrigado,

Dylan

Foi útil?

Solução

Se você está procurando alguma orientação sobre como conseguir isso com Spark, há um totalmente funcional Amostra de e -mail e modelo de texto disponível aqui no código fonte do Spark.

Deve -se notar que, na verdade, não há dependência que esta amostra tenha no HTTPContext ou em qualquer outra infraestrutura da Web para esse assunto. É completamente independente e pode executar tão facilmente quanto um aplicativo de console.

Espero que isto ajude,
Tudo de bom,
Roubar

Outras dicas

Existem algumas maneiras de criar conteúdo modelo a partir da linha de comando, a Nvelocity é um exemplo, mas também recentemente somos lançados nosso invólucro do analisador de barbear no codeplex ( http://razorengine.codeplex.com/ ) que eu acho que vale a pena dar uma olhada.

Ainda outra,Motor de modelo StringTemplate.

No entanto, estou atenção ao RezortemplateEngine!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top