NVelocity: «Не удается прочитать из закрытого TextReader» - PullRequest
1 голос
/ 15 марта 2012

Просто начинаем работать с NVelocity (v1.1.1), и кажется, что он работает нормально.

Есть только одна маленькая вещь, которая раздражает меня. Я настроил VS2010 для прерывания каждый раз, когда генерируется исключение, даже если оно где-то обрабатывается, и при запуске следующего кода оно всегда прерывается при вызове Evaluate, заявляя, что оно «не может читать из закрытого TextReader» (ObjectDisposedException ). У меня нет исходного кода для NVelocity, поэтому я не могу отладить.

Я где-то пропускаю настройку, которая вызывает это? Это просто безобидная ошибка в NVelocity? Результат получается хорошо, мне просто кажется, что что-то не так.

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();
}

Трассировка стека исключений:

в System.IO .__ Error.ReaderClosed () в System.IO.StringReader.Read (буфер Char [], индекс Int32, число Int32)
в NVelocity.Runtime.Parser.VelocityCharStream.FillBuff () в c: \ ... \ src \ NVelocity \ Runtime \ Parser \ VelocityCharStream.cs: строка 313

1 Ответ

2 голосов
...