You need to make sure that both the service and the reader open the log file non-exclusively. Try this:
For the service – the writer in your example – use a FileStream
instance created as follows:
var outStream = new FileStream(logfileName, FileMode.Open,
FileAccess.Write, FileShare.ReadWrite);
For the reader use the same but change the file access:
var inStream = new FileStream(logfileName, FileMode.Open,
FileAccess.Read, FileShare.ReadWrite);
Also, since FileStream
implements IDisposable
make sure that in both cases you consider using a using
statement, for example for the writer:
using(var outStream = ...)
{
// using outStream here
...
}
Good luck!