带有WCF主机和客户端的C#中的字符串生成器

时间:2013-05-14 00:40:36

标签: c# wpf windows wcf

我对StringBuilder中的C#有疑问。我有一个生成数百万行数据的过程。我使用StringBuilder作为缓冲区。因此,每当我获得20000行并打开文件并将数据转储到文件中。每隔20000行我将数据转储到文件中。 现在为此,我从处理中得到一行,所以我所做的是将数据附加到StringBuilder对象(缓冲区)中的新行。但是当我对ToString()使用StringBuilder方法时,它不会将数据转换为String

public static stringBuilder Message = new StringBuilder();   

Host

for(int i=0; i<20000; i++)
    string Lines = " 20000 Data lines one by one appended";

    Message.AppendLine(Lines);
    Event(EventName, Message.ToString());

Client

Void FileWrite(String Message)
{
     //Stream Writer to write the data into file.
     writeToFile.Write(Message);
     writeToFile.Flush();
}

这里我的客户端是WCF客户端,它通过Host中的处理获取行值。 当我订阅它的事件被触发并且它获得字符串值StringBuffer并将其打印在文件中时。写入文件的方法存在于客户端。我的事件在客户端触发,但StringBuilder值未打印在文件中。有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

尝试使用System.Environment.NewLine

更改代码以执行此类操作
for(int i=0;i<20000;i++)
    string Lines = " 20000 Data lines one by one appended"+System.Environment.NewLine;
    Message.AppendLine(Lines);
    Event( EventName, Message.ToString());

    Client:
    Void FileWrite(String Message)
    {
     //Stream Writer to write the data into file.
     writeToFile.Write(Message);
     writeToFile.Flush();
    }