c# - 如何从实时文件中读取行?
问题描述
我有 2 个应用程序,一个将行写入文件,另一个在写入文件时读取。问题来自将文件视为队列而不是流。写作是每行。使用 StreamReader::ReadLine 阅读。问题是我只得到了部分行,所以解析失败。解决此问题的最佳方法是什么?
解决方案
.NET Framework 为本地计算机上的进程间通信提供了PipeStream和派生类,作为客户端-服务器,使用内存中的流,而不是像 Unix 中那样使用信号量和排队管道完成的文件。
如果您需要一个进程填充文件,您可以在将文件写入文件后使用此类流管道将新数据发送到另一个进程。
例如,在服务器进程中:
void ProcessNewData(string /* or any type needed */ content)
{
WriteNewDataToFile(content);
SendNewDataToClient(content);
}
除了 Microsoft 文档之外,还有一篇文章解释了一些事情:
您还可以使用任何您想要的进程间技术:Remoting、WCF...
推荐阅读
- php - 使用带有 API 的访问者 IP 来显示他们的标志
- sql - 简单查询挂起 PostgreSQL
- javascript - 我的标签不起作用。元素堆叠而不是展开
- vue.js - Vuejs 去抖动一个被监视的属性并使用 VueX 调用存储
- angular - 将数据从一个函数传递到同一个 Angular 组件中的另一个函数
- javascript - 如果未声明 css 类,则隐藏文本
- apache-kafka - Google DataFlow:从 Kafka 读取并保存到 GCS - 如何保证完全一次?
- angular - 如何在ngx数据表中获取行数据onSelect事件
- python - flask-sqlalchemy 从子到父的反向模型关系查询
- android - 我想知道 onClientConnParamsChanged() 何时何地出现在日志中