2012-03-15 4 views
1

Просто начав работу с NVelocity (v1.1.1), и, похоже, он работает нормально.NVelocity: «Невозможно прочитать из закрытого TextReader»

Есть только одна маленькая вещь, которая меня раздражает. Я настроил 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 Count)
в NVelocity.Runtime.Parser.VelocityCharStream.FillBuff() в C: \ ... \ SRC \ NVelocity \ время выполнения \ Parser \ VelocityCharStream.cs: строка 313

+0

У вас нет ответа на ваш вопрос, но если вы хотите погрузиться в него, кажется, [исходный код доступен] (http://nvelocity.codeplex.com/). – Jeroen

+0

Спасибо, я искал исходный код сам, однако проект, с которым вы связываетесь, является вилкой оригинального проекта NVelocity. Я * мог * проверить версию, чтобы увидеть, могу ли я найти источник проблемы. Вы знаете, доступен ли исходный код версии 1.1.1? – bernhof

+0

@Jeroen: это не репозиторий NVelocity. Авторитетный репозиторий находится по адресу https://github.com/castleproject/MonoRail/tree/master/MR2/NVelocity. Тот, который находится в кодеплексе, является незакрепленной вилкой. –

ответ

2
+0

Спасибо за исходную ссылку, я сам посмотрю на специфику! – bernhof

+0

@Bernhof: нижняя строка: это не настоящая проблема. Ознакомьтесь с исключениями первого шанса и как отключить их в своем отладчике. –

+0

Я знаю. Мне просто интересно узнать, почему выбрано исключение. Первый шанс или нет, исключения следует бросать только в исключительных ситуациях. И мой пример действительно не кажется исключительным. – bernhof

 Смежные вопросы

  • Нет связанных вопросов^_^