/ / Windows služba potrebuje príliš dlho začať, timeout dosiahol - Windows, Visual-C + +, služby, Windows-služby

Služba Windows potrebuje príliš dlhý čas na spustenie, časový limit dosiahnutý - windows, visual-c ++, service, windows-services

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ď č. 1

Vaš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();
}