Hallo!
Ich habe einen Dienst. In diesem Dienst starte ich einen Prozess. Der Fehlerkanal dieses Prozesses soll in eine Datei umgeleitet werden. Realisiert habe ich das bisher so (abgespeckt):
Aber: t nicht! Ich produzierte einen Fehler, aber das Programm geht nicht in die Fehlermethode (
). Das Event scheint nicht gefeuert zu werden. Warum? Fehlt was?
Danke für den Input!
MfG
mdo
Ich habe einen Dienst. In diesem Dienst starte ich einen Prozess. Der Fehlerkanal dieses Prozesses soll in eine Datei umgeleitet werden. Realisiert habe ich das bisher so (abgespeckt):
Code:
private StreamWriter swErr = new StreamWriter("C:\\error.log");
protected override void OnStart(string[] args)
{
try
{
test= new Process();
test.StartInfo.FileName = "C:\\test.exe";
test.StartInfo.CreateNoWindow = true;
test.StartInfo.UseShellExecute = false;
test.StartInfo.RedirectStandardError = true;
test.StartInfo.RedirectStandardOutput = true;
test.ErrorDataReceived += new DataReceivedEventHandler(NetErrorDataHandler);
test.Start();
}
catch (Exception ex)
{
//Fehler
}
}
private void NetErrorDataHandler(object sendingProcess, DataReceivedEventArgs errLine)
{
if (!String.IsNullOrEmpty(errLine.Data))
{
swErr.WriteLine("---------------------------------------");
swErr.WriteLine(DateTime.Now.ToString());
swErr.WriteLine(errLine.Data);
swErr.Flush();
}
}
Aber: t nicht! Ich produzierte einen Fehler, aber das Programm geht nicht in die Fehlermethode (
Code:
NetErrorDataHandler
Danke für den Input!
MfG
mdo