c# invert.toint bzw. int.parse bei Diensten

klauselsner

Grünschnabel
Hallo Leute,

ich habe eine Konsolensoftware in c# zum Empfangen von Netzwerkmeldungen geschrieben, die wunderbar arbeitet. Ein Teil der Applikation liest eine (wenn auch primitive) Konfigurationsdatei ein. Funktioniert auf der Konsole wunderbar.

Wenn ich versuche, dieselben Funktionen als Dienst laufen zu lassen, lässt sich der Dienst zwar installieren, arbeit jedoch nicht. Erst wenn ich die Zeile

m_listen_port = Convert.ToInt32(SysVars["listen"].ToString());

auskommentiere und die Variable von Hand setze, läuft der Dienst einwandfrei.
Interessanterweise funktionierts auch, wenn ich die Portnummer als String in den Parameter setze, also Convert.ToInt32("3602"), aber nicht mit einer Stringvariablen.

Hat jemand eine Ahnung, warum sich der Dienst so anders verhält?
C#:
try
            {
                FileStream FileName = new FileStream(FilePath, FileMode.Open);
                StreamReader r = new StreamReader(FileName);
                while (!r.EndOfStream)
                {
                    string dummy = r.ReadLine();
                    string[] vars = dummy.Split(Convert.ToChar("="));
                    SysVars.Add(vars[0], vars[1]);
                }//while

                m_Ablage = SysVars["pathA"].ToString();
                m_Meldung = SysVars["pathB"].ToString();
                m_listen_port = Convert.ToInt32(SysVars["listen"].ToString());

            }
            catch (Exception ex)
            {
                Write2File("Fehler Initialisierung -- " + ex.Message, 1);
            }
 
Hallo.

Welche Fehlermeldung gibt es denn? Schon debuggt udn geschaut was in der String-Variable ist, welche du da als Parameter übergibst?

Beim nächsten Mal bitte deine Code-Snippets in csharp-Tags setzen, danke.. habs mal nachträglich bei dir geändert.

lg, Alex
 
Hallo Alexander,

der einsatz des Dienstes auf einer XP Home Maschine brachte die Erleuchtung, oder besser ein Glimmen. Stellt amn die Initilisierungsdatei ins %SystemRooot%/Systems32-Verzeichnis, klappt alles. Don't ask me why!

Was bedeutet "in C#-Tags setzen" ?

Vielen Dank für deine Hilfe, ich werde dieses Thema jetzt aber schließen.

Mit freundlichen Grüßen

Klaus Elsner
 
Zurück