Click here to Skip to main content
15,887,585 members
Home / Discussions / C#
   

C#

 
Questionhow to capture logfile changes into a text box Pin
Rafferty Uy26-Dec-06 22:58
Rafferty Uy26-Dec-06 22:58 
AnswerRe: how to capture logfile changes into a text box Pin
Marek Grzenkowicz27-Dec-06 0:47
Marek Grzenkowicz27-Dec-06 0:47 
AnswerRe: how to capture logfile changes into a text box Pin
PIEBALDconsult27-Dec-06 3:29
mvePIEBALDconsult27-Dec-06 3:29 
GeneralRe: how to capture logfile changes into a text box Pin
Luc Pattyn27-Dec-06 7:16
sitebuilderLuc Pattyn27-Dec-06 7:16 
GeneralRe: how to capture logfile changes into a text box Pin
Rafferty Uy27-Dec-06 15:47
Rafferty Uy27-Dec-06 15:47 
GeneralRe: how to capture logfile changes into a text box Pin
Luc Pattyn27-Dec-06 16:48
sitebuilderLuc Pattyn27-Dec-06 16:48 
GeneralRe: how to capture logfile changes into a text box Pin
Rafferty Uy27-Dec-06 18:50
Rafferty Uy27-Dec-06 18:50 
GeneralRe: how to capture logfile changes into a text box Pin
Luc Pattyn28-Dec-06 5:00
sitebuilderLuc Pattyn28-Dec-06 5:00 
Hi Rafferty,

I don't have a general solution available, so I did some experiments.

I have one process that periodically (100msec) writes a string to a file;
my writer code reopens the file for every write access
(with a single open, a reader would be unable to access the file at all):
private void output(string s) {
	try {
		StreamWriter sw=new StreamWriter(fileSpec, true); // append !
		sw.WriteLine(s);
		sw.Close();
	} catch (Exception exc) {
		timelog(exc.Message);
	}
}


I have another process that periodically (but at a lower frequency, 1sec) tries
to read one or more lines; the code is similar to yours.
(assume seek is zero and delay is false):
private void input() {
	try {
		StreamReader sr=new StreamReader(fileSpec);
		sr.BaseStream.Position=seek;
		if (delay) Thread.Sleep(1000);	// try to block producer !
		while((string s=sr.ReadLine())!=null) {
			log("line "+line+": "+s); // process the input data
			seek=sr.BaseStream.Position;
		}
		sr.Close();
	} catch (Exception exc) {
		timelog(exc.Message);
	}
}

This duo typically behaves well, I guess because the reader is simple enough
so it can do its job without a task reschedule, so the writer never is active
while the reader has file access.

But when I set delay true (reader keeping file accessed while relinquishing CPU), the writer starts to fail with "cannot access file", exactly as I was expecting.

I am still looking for a general solution; so far I would say the reader should
collect new data and avoid operations that take time or may relinquish the CPU.
But if the OS, for whatever reason, interrupts the input method and reactivates
the writer, things will go wrong there.

Smile | :)



Luc Pattyn

GeneralRe: how to capture logfile changes into a text box Pin
Rafferty Uy28-Dec-06 13:47
Rafferty Uy28-Dec-06 13:47 
QuestionUsing a navigator panel Pin
quiteSmart26-Dec-06 22:56
quiteSmart26-Dec-06 22:56 
QuestionMDIchild form goes behind the panel Pin
thunaivanu26-Dec-06 22:16
thunaivanu26-Dec-06 22:16 
AnswerRe: MDIchild form goes behind the panel Pin
il_masacratore27-Dec-06 2:41
il_masacratore27-Dec-06 2:41 
GeneralRe: According to your suggestions Pin
thunaivanu27-Dec-06 17:27
thunaivanu27-Dec-06 17:27 
QuestionCan any one give an idea......? Pin
ravichandratbv26-Dec-06 21:56
ravichandratbv26-Dec-06 21:56 
QuestionVoice Chat Pin
AB777126-Dec-06 21:52
AB777126-Dec-06 21:52 
QuestionHow do I call a C# DLL Using Visual Studio 2005 ( C# Code) Pin
Peter Usinga26-Dec-06 21:14
Peter Usinga26-Dec-06 21:14 
AnswerRe: How do I call a C# DLL Using Visual Studio 2005 ( C# Code) Pin
Colin Angus Mackay27-Dec-06 0:22
Colin Angus Mackay27-Dec-06 0:22 
AnswerRe: How do I call a C# DLL Using Visual Studio 2005 ( C# Code) Pin
ednrgc28-Dec-06 6:35
ednrgc28-Dec-06 6:35 
QuestionImages + Propertygrid Pin
Tanuja12326-Dec-06 19:51
Tanuja12326-Dec-06 19:51 
QuestionJPEG 2000 Pin
MozhdehQeraati26-Dec-06 19:39
MozhdehQeraati26-Dec-06 19:39 
Question???? Error in crystal Report Build by using Command SQL in c#.net ?? Pin
jaganil26-Dec-06 18:42
jaganil26-Dec-06 18:42 
GeneralRe: ???? Error in crystal Report Build by using Command SQL in c#.net ?? Pin
Tarakeshwar Reddy26-Dec-06 19:29
professionalTarakeshwar Reddy26-Dec-06 19:29 
QuestionSelection, as if it were text. [modified] Pin
Captain See Sharp26-Dec-06 15:58
Captain See Sharp26-Dec-06 15:58 
QuestionCollection.IndexOf Method Question? Pin
haz1326-Dec-06 13:46
haz1326-Dec-06 13:46 
AnswerRe: Collection.IndexOf Method Question? Pin
Christian Graus26-Dec-06 15:04
protectorChristian Graus26-Dec-06 15:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.