2011-01-14 2 views
1

ストリーミングテクニックの詳細を知る必要があります。 私はビズトークを使用しており、カスタムパイプラインコンポーネントを開発したいと考えています。 パフォーマンス要因については、すべてがストリームベースの方法でなければなりません。 私はストリーミングメッセージを受け取るが、私は、テキストにいくつかの置換を行いたい、 は私が今やっていることは次のとおりです。ストリーミングプログラミング

string msg = ""; 
using(StreamReader r = new StreamReader(stream)){ 
    msg = r.readToEnd(); 
} 

//do replacements 

//send stream away 
StreamWriter... 

あなたは私がr.readToEndを実行したときに、私は、ストリームを破る見るように()。 ストリーム内のメッセージを編集するにはどうすればよいですか?

thx

答えて

4

できません。ストリームからメッセージの一部を読み込み、各パートで必要なものを置き換えて、最後に処理されたパートを別のストリームに書き込むことができます。

ReadToEndの使用は、ストリーミングの概念と逆です。私が示唆できるのは、あなたが使用すべきことです:

using (StreamReader r = new StreamReader(stream)) 
using (StreamWriter w = new StreamWriter(someOutputStream)) 
{ 
    string line = null; 
    while ((line = r.ReadLine()) != null) 
    { 
     line = DoReplacements(line); 
     w.WriteLine(line); 
    } 
} 
+0

OK、あなたの助けのために: –