Postupy: Vytváření služeb systému Windows

Poznámka:

Tento článek se nevztahuje na hostované služby v .NET. Nejnovější obsah ve službách Windows používajících Microsoft.Extensions.Hosting.BackgroundService a šablonu Pracovní služba najdete v tématech:

Při vytváření služby můžete použít šablonu projektu sady Visual Studio s názvem Služba systému Windows. Tato šablona automaticky provede většinu práce za vás tím, že odkáže na příslušné třídy a obory názvů, nastaví dědičnost ze základní třídy pro služby a přepíše několik metod, které pravděpodobně budou potřeba přepsat.

Výstraha

Šablona projektu služby Windows není k dispozici v edici Express sady Visual Studio.

Pokud chcete alespoň vytvořit funkční službu, musíte:

  • Nastavte vlastnost ServiceName.

  • Vytvořte potřebné instalační programy pro vaši aplikaci služby.

  • Přepište a určete kód pro metody OnStart a OnStop k úpravě způsobů, jakým se vaše služba chová.

Vytvoření aplikace služby systému Windows

  1. Vytvořte projekt služby systému Windows .

    Poznámka:

    Pokyny k zápisu služby bez použití šablony najdete v tématu Postupy: Zápis služeb prostřednictvím kódu programu.

  2. V okně Vlastnosti nastavte ServiceName vlastnost pro vaši službu.

    Nastavte vlastnost ServiceName.

    Poznámka:

    Hodnota ServiceName vlastnosti se musí vždy shodovat s názvem zaznamenaným ve třídách instalačního programu. Pokud tuto vlastnost změníte, musíte také aktualizovat ServiceName vlastnost tříd instalačního programu.

  3. Nastavte některou z následujících vlastností a určete, jak bude služba fungovat.

    Vlastnictví Setting
    CanStop True aby služba přijímala požadavky na zastavení provozu; false aby se službě zabránilo ve vypnutí.
    CanShutdown True k označení, že služba chce dostávat oznámení, když se počítač, na kterém běží, vypne, což jí umožní volat proceduru OnShutdown.
    CanPauseAndContinue True indikuje, že služba přijme žádosti o pozastavení nebo obnovení provozu; false aby se zabránilo pozastavení a obnovení služby.
    CanHandlePowerEvent True indikuje, že služba může zpracovávat oznámení o změnách stavu napájení počítače; false aby služba nemohla být o těchto změnách informována.
    AutoLog True k zápisu informačních položek do protokolu událostí aplikace při provádění akce služby; false zakázat tuto funkci. Další informace najdete v části Postupy: Protokolování informací o službách. Poznámka: Ve výchozím nastavení AutoLog je nastavená hodnota true.

    Poznámka:

    Pokud CanStop nebo CanPauseAndContinue jsou nastaveny na false, Správce řízení služeb zakáže odpovídající možnosti nabídky zastavit, pozastavit nebo pokračovat ve službě.

  4. Přejděte do Editoru kódu a vyplňte požadované zpracování pro postupy OnStart a OnStop.

  5. Přepište všechny další metody, pro které chcete definovat funkce.

  6. Přidejte potřebné instalační programy pro aplikaci služby. Další informace naleznete v tématu Postupy: Přidání instalačních programů do aplikace služby.

  7. Projekt sestavte tak, že v nabídce Sestavení vyberete Sestavit řešení.

    Poznámka:

    Nestiskejte klávesu F5 ke spuštění projektu – tímto způsobem nelze spustit projekt služby.

  8. Nainstalujte službu. Další informace naleznete v tématu Postupy: Instalace a odinstalace služeb.

Viz také