Vytvoril som jednu službu s nasledujúcou zostavou env:
OS : Windows Server 2012
IDE: Visual Studio 2012
Arch: x64
Rovnaká služba je v poriadku so systémom Windows Server 2012, ale tá istá služba sa nezačína v systéme Windows Server 2008.
OS : Windows Server 2008 R2
Arch : x64
V Zobrazovači udalostí sa zobrazuje nasledujúca chyba
Počas čakania na pripojenie k službe sa dosiahol časový limit (30000 milisekúnd).
Poznámka: Nainštaloval som všetky potrebné redistribuovateľné balíky VC ++.
odpovede:
0 pre odpoveď č. 1Vaša služba musí trvať dlho, kým začne na počítači so systémom Windows Server 2008. Ak je časový limit prekročený, služba sa zastaví. Môže to byť z týchto dôvodov:
- pomalší hardvér
- pomalšie pripojenie k sieti
- rôzne pracovné zaťaženie
- ...
Odporučil by som vytvoriť pracovníka Thread
v spôsobe spustenia služby. Tým sa vyhnete Timeout.
protected override void OnStart(string[] args)
{
// Create working thread
Thread serviceThread = new Thread(() =>
{
// do stuff
});
// start thread
serviceThread.Start();
}