2012-03-15 72 views
1

NVelocity(v1.1.1)を使い始めるだけでうまくいくようです。NVelocity: "閉じられたTextReaderから読み取ることができません"

私を悩ます小さなものが1つあります。私は、例外がスローされるたびに破損するようにVS2010を設定しました。次のコードを実行すると、評価されたコールで常に「閉じた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.StringReader.ReadでSystem.IO .__ Error.ReaderClosed()(CHAR []バッファ、のInt32インデックス、のInt32数)で


NVelocity.Runtime.Parser.VelocityCharStream.FillBuff()で はC:\ ... \ SRC \ NVelocity \ランタイム\パーサ\ VelocityCharStream.cs:ライン313

+0

あなたの質問への回答はあまりありませんが、潜在意向がある場合は[ソースコードが利用可能です](http://nvelocity.codeplex.com/)。 – Jeroen

+0

ありがとう、私は自分自身でソースコードを探していましたが、リンクしているプロジェクトは元のNVelocityプロジェクトのフォークです。私は*フォークされたバージョンをチェックして、問題の原因を見つけることができるかどうかを確認することができました。元のバージョン1.1.1のソースコードが入手可能かどうか知っていますか? – bernhof

+0

@Jeroen:これはcanon NVelocityリポジトリではありません。正式なリポジトリはhttps://github.com/castleproject/MonoRail/tree/master/MR2/NVelocityです。コードプレックスのものは、維持されていないフォークです。 –

答えて

2
+0

ソースリンクをありがとう、私は詳細を自分で見てみましょう! – bernhof

+0

@Bernhof:ボトムライン:本当の問題ではありません。ファーストチャンスの例外とデバッガでそれらを無効にする方法について読んでください。 –

+0

私は知っています。例外がスローされる理由を知りたいだけです。最初のチャンスであろうとなかろうと、例外は例外的な状況でのみ投げられるべきです。そして、私の例は本当に例外的なようには見えません。 – bernhof

関連する問題