Windows Dienst in Server 2008

17/12/2009 - 10:06 von Christian Engelhardt | Report spam
Hallo,

da ich nicht weiß ob mein Problem das .NET Forum betrifft oder dieses hier,
stelle ich meine Frage hier auch noch einmal:

Ich habe einen Windows Dienst der einen .NET Webservice konsumiert und
diesen in regelmàßigen Abstànden auf neue Inhalte abfragt. Beide Systeme sind
in .NET 2.0 geschrieben. Auf Windows Server 2003 làuft der Windows Dienst
einwandfrei. Installiere ich diesen auf Windows Server 2008 kann er den
Webservice nicht abfragen und bringt die folgende Fehlermeldung(der
Webservice làuft auf einem anderen Rechner irgendwo im Netz):

Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\WINDOWS\TEMP\qqog8yxa.0.cs' could not be found
error CS2008: No inputs specified

Nach einigen Stunden googeln versuchte ich die vielfachen Vorschlàge
umzusetzen dem Konto unter dem der Dienst ausgeführt wird (laut Anzeige in
den Diensten lokales Systemkonto) die zusàtzlichen Rechte auf das
Windows/Temp Verzeichnis zu erteilen. Anscheinend kann oder darf er hier
nichts lesen/schreiben.

Jedoch weit gefehlt. Selbst der Vollzugriff des KOnto's "jeder" brachte
keinen Erfolg. Auch direkt im Framework/V2.0xxxx/Tempfiles Verzeichnis die
Rechte zu erweitern brachte keinen Erfolg. Dem Server 2008 ist das irgendwie
recht egal was ich einstelle.

Nun weiß ich nicht mehr weiter. Anscheinend wird für den Aufruf eines
Webdienstes ein anderes Konto verwendet als jenes, dass in den Windows
Diensten unter Eigenschaften eingestellt ist. Auch habe ich versucht den
Windows Dienst unter einem Administratorkonto auszuführen. Leider auch hier
kein Erfolg. Und das sonst übliche Konto ASPNET existiert im Server 2008
nicht mehr. Weshalb ich auch nicht weiß unter welchem Konto das .NET
Framework seine Anfragen ausführt.

Ich bin mittlerweile vollkommen ratlos.

Meine letzte Idee derzeit ist, dass ich in der app.config des Windows
Dienstes einstellen kann, dass Temporàre Files woanders hingelegt werden.
Aber ich weiß nicht wie das syntaktisch aussehen muss, trotz langem googeln.

Kann mir jemand helfen bei diesem Problem? Ich denke nicht, dass ich der
erste bin der darauf stößt.

Besten Dank bereits vorab.

Grüße,

Christian Engelhardt
 

Lesen sie die antworten

#1 Christian Engelhardt
17/12/2009 - 10:26 | Warnen spam
Hallo,

das Problem ist gelöst. Der Fehler trat doch am Webserver auf und wurde
nicht vom Windows Dienst verursacht. Leseberechtigungen auf das Windows
Tempverzeichnis für das Konto Network Service brachten den Erfolg.

Grüße und schöne Feiertage,

C. Engelhardt


"Christian Engelhardt" wrote:

Hallo,

da ich nicht weiß ob mein Problem das .NET Forum betrifft oder dieses hier,
stelle ich meine Frage hier auch noch einmal:

Ich habe einen Windows Dienst der einen .NET Webservice konsumiert und
diesen in regelmàßigen Abstànden auf neue Inhalte abfragt. Beide Systeme sind
in .NET 2.0 geschrieben. Auf Windows Server 2003 làuft der Windows Dienst
einwandfrei. Installiere ich diesen auf Windows Server 2008 kann er den
Webservice nicht abfragen und bringt die folgende Fehlermeldung(der
Webservice làuft auf einem anderen Rechner irgendwo im Netz):

Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\WINDOWS\TEMP\qqog8yxa.0.cs' could not be found
error CS2008: No inputs specified

Nach einigen Stunden googeln versuchte ich die vielfachen Vorschlàge
umzusetzen dem Konto unter dem der Dienst ausgeführt wird (laut Anzeige in
den Diensten lokales Systemkonto) die zusàtzlichen Rechte auf das
Windows/Temp Verzeichnis zu erteilen. Anscheinend kann oder darf er hier
nichts lesen/schreiben.

Jedoch weit gefehlt. Selbst der Vollzugriff des KOnto's "jeder" brachte
keinen Erfolg. Auch direkt im Framework/V2.0xxxx/Tempfiles Verzeichnis die
Rechte zu erweitern brachte keinen Erfolg. Dem Server 2008 ist das irgendwie
recht egal was ich einstelle.

Nun weiß ich nicht mehr weiter. Anscheinend wird für den Aufruf eines
Webdienstes ein anderes Konto verwendet als jenes, dass in den Windows
Diensten unter Eigenschaften eingestellt ist. Auch habe ich versucht den
Windows Dienst unter einem Administratorkonto auszuführen. Leider auch hier
kein Erfolg. Und das sonst übliche Konto ASPNET existiert im Server 2008
nicht mehr. Weshalb ich auch nicht weiß unter welchem Konto das .NET
Framework seine Anfragen ausführt.

Ich bin mittlerweile vollkommen ratlos.

Meine letzte Idee derzeit ist, dass ich in der app.config des Windows
Dienstes einstellen kann, dass Temporàre Files woanders hingelegt werden.
Aber ich weiß nicht wie das syntaktisch aussehen muss, trotz langem googeln.

Kann mir jemand helfen bei diesem Problem? Ich denke nicht, dass ich der
erste bin der darauf stößt.

Besten Dank bereits vorab.

Grüße,

Christian Engelhardt

Ähnliche fragen