3

我在控制台程序中编写了一些代码并使用文件进行了测试。现在我想将它移植到实现特定接口的 BizTalk 管道组件。我不知道从文件到内存流的方法.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 + ">");

这里没有显示更多代码。以上只是为我所做的事情做准备。

4

1 回答 1

6

使用可用于调用 WriteLine的StreamWriter 。

MemoryStream streamToReturn = new MemoryStream();
var writer = new StreamWriter(streamToReturn);
writer.WriteLine("<" + schemaStructure.rootElement + ">");
于 2017-05-08T17:11:35.430 回答