コンソール プログラムでいくつかのコードを記述し、ファイルでテストしました。ここで、特定のインターフェイスを実装する BizTalk パイプライン コンポーネントに移植したいと考えています。File から Memory Stream へのメソッド.Write
とメソッドが非常に異なることを知りませんでした。.WriteLine
オブジェクトを交換するだけでよいと思いました。メソッドはなく.WriteLine
、.Write メソッドにはオフセットとバイト (追加パラメーター) が必要です。
さて、.WriteLine ステートメントがたくさんあることを考えると、テスト済みのコードをメモリ ストリームに書き込むように変更する最善の方法は何でしょうか。最初に StringBuffer に書き込むこともできますが、それではストリーミングの概念が台無しになると思います (つまり、一度にドキュメント全体をメモリに格納することになります)。
// This is how I used the streams in the Console program
//FileStream originalStream = File.Open(inFilename, FileMode.Open);
//StreamWriter streamToReturn = new StreamWriter(outFilename);
// This is how to get the input stream in the BizTalk Pipeline Componenet
System.IO.Stream originalStream = pInMsg.BodyPart.GetOriginalDataStream();
MemoryStream streamToReturn = new MemoryStream();
streamToReturn.WriteLine("<" + schemaStructure.rootElement + ">");
ここに示していないコードは他にもたくさんあります。上記は、私がやったことの舞台を設定するためのものです。