Pergunta

Começando na NVelocity (v1).1.1) e parece estar funcionando muito bem.

Há apenas uma pequena coisa que me irrita.Eu configurei o VS2010 para quebrar a cada vez que uma exceção é lançada, mesmo que ele obtém processadas em algum lugar, e quando executar o seguinte código, ele sempre quebra a chamada para Avaliar, afirmando que "não é Possível ler a partir de um fechado TextReader" (ObjectDisposedException).Eu não tiver o código-fonte para NVelocity, então não posso depurar.

Estou faltando uma configuração em algum lugar que faz isso?É apenas um inofensivo bug no NVelocity?O resultado sai bem, me parece que algo não está muito certo.

var velocity = new VelocityEngine();
var properties = new ExtendedProperties();
var context = new VelocityContext(fieldValues);
properties.AddProperty("velocimacro.library", string.Empty); // no library
velocity.Init(properties);

using (var writer = new StringWriter())
{
  velocity.Evaluate(context, writer, null, templateContents);
  return writer.ToString();
}

Rastreamento de pilha de exceção:

em Sistema.IO.__Erro.ReaderClosed() em Do sistema.IO.StringReader.Read(Char[] buffer, Int32 índice, Int32 contagem)
em NVelocity.O tempo de execução.Analisador.VelocityCharStream.FillBuff() em c:\...\src Velocity untime\Analisador\VelocityCharStream.cs:linha 313

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