字符串生成器在c#与WCF主机和客户端



我对C#中的StringBuilder有疑问。我有一个生成百万行数据的过程。我使用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客户端,它从主机的处理中获得行值。当我订阅的事件被触发时,它获得StringBuffer的字符串值并将其打印到文件中。写入文件的方法出现在客户端。我的事件是在客户端触发的,但StringBuilder值没有打印在文件中。谁能帮我解决这个问题?

尝试使用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();
    }

最新更新