I have command-line program that “do a lot of work” and produce “a lot of statistics”. It’s stocks trading software pretty critical to delays, bugs, and whatever, so I don’t want to add GUI to it. (moreover GUI is required sometimes, but console application should be always launched)
I need GUI to friendly display collected statistic (in read-only mode). How to transfer that statistics? It would be enough to refresh it every second. I need to transfer bunch of data from one console c# program to another GUI (probably not c#) program, in future probably by network, but locally for now.
Statistics is like “sensors data”, measured every second. There are a lot of (hundreds) of sensors. (in real word it’s a lot of different values, like “profit”, “orders per second” etc.)
Should I use plain file, db or someting else and how?
You can use any form of IPC (inter-process communication).
Since you’re planning to go over the network in the future, I recommend WCF. If the GUI program isn’t .NET, then you may need to use a lower-level solution, such as named pipes or sockets.