webForumDet fria alternativet

C# windows service

.NETur .NET

6 svar · 639 visningar · startad av HerrOmega

Medlem sedan sep. 200614 inlägg
Frågan#1

Hejsan!

Jag har skrivit ett program (windows tjänst) som tar emot kommandon via en tcp anslutning och sedan utför olika system kommandon. ex, skapa mappar eller flyttar filer. Är tänkt att användas i ett AD för att migrera konton och hemkataloger mellan olika hostar.

Problemet jag har är att programmet fungerar kanon om man kör det som en applikation men när jag kör den som en windows service (trådad) så verkar den bara lyssna och ta emot kommandon men sen kommer den inte längre. Är det något som hindrar en service från att förändra filsystemet.. den klarar att skriva en loggfil så jag tycker inte det borde vara problem med att accessa filsystemet.

Någon som har skrivit en service som både använder sig av nätansluting och interagerar med systemet?

Servicen körs som system användaren på en win2003 server.

Medlem sedan jan. 2008280 inlägg
#2

Sannolikt ett rättighetsproblem.
En service kan köras under olika konton och inte alla har rättigheter till nätverket/filsystemet. Du kan ställa in vilket konto din service ska köras under Control Panel>Administrative Tools>Services

Medlem sedan sep. 200614 inlägg
#3

Hej och tack för svar.

Det konstiga är att servicen kan ta emot anslutningar (tyder på att nätverket fungerar) samt att det går att skriva till en tempfil (tyder på att filsystemsaccess fungerar)

Tempfilen ligger dock i samma mapp som exe filen. Detta kanske gör att det går att skriva trots fel rättigheter till filsystemet.

Jag får testa men det känns långsökt, ingen annan ide? :bire

Medlem sedan jan. 2008280 inlägg
#4

Det är bara att testa att köra under ett konto med "bra" behörigheter. Tar väl ett par minuter att testa. Eller varför inte skapa en domänanvändare med exakt de behörigheter som din service behöver?

Medlem sedan juni 20014 421 inlägg
#5

Du kan inte logga felen du får i loggfilen då?

Medlem sedan sep. 200614 inlägg
#6

Unable to read data from the transport connection

detta fel får klienten som försöker ansluta till min service..

Medlem sedan sep. 200614 inlägg
#7

Jag har nu löst problemet. Det hela berodde på att jag hade ett felaktigt namespace i en serialize funktion.. Synd att kompileraren inte upptäcker detta åt en.

140 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)