我有两个应用程序在同一台计算机上运行,它们应该在一秒钟内共享数据大约20次。
应用程序1生成一行字符串数据,例如" 1-ABC-XYZ-3-HK"它希望将此数据传递给应用程序2.
然后,应用程序2执行某些操作并丢弃该数据。
我现在所做的就是应用程序1继续生成数据并存储到SQL数据库文件中,而应用程序2将持续监视同一个SQL文件,并且每当有新数据时它会选择该数据并执行某些操作然后移动该数据到标记为已处理的另一个表。这个过程每秒发生约20次。
应用程序2有一个计时器控件,可以在一秒钟内查询数据库文件50次,以监控是否有新数据。
我的问题是......
有没有比我上面解释的更快或更好的方式来传输这些数据?我不确定每秒查询数据库50次是好还是坏,可能会降低PC的性能。
应用程序1正在生成数据并且每秒记录20次,同时应用程序2查询相同的数据库50次。如果有任何专业的方式,请帮助我。
答案 0 :(得分:2)
只需使用Tcp套接字即可将数据从一个应用程序传输到下一个应用程序。您可以使用Protocol Buffers序列化数据。
答案 1 :(得分:1)
您可以尝试使用命名管道,以下面的两个作为示例
http://www.codeproject.com/Tips/441841/Csharp-Named-Pipes-with-Async http://www.codeproject.com/Tips/492231/Csharp-Async-Named-Pipes
希望这可以提供帮助