Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Ten artykuł nie dotyczy hostowanych usług na platformie .NET. Aby uzyskać najnowszą zawartość w usługach systemu Windows przy użyciu Microsoft.Extensions.Hosting.BackgroundService i szablonie usługi procesu roboczego, zobacz:
Jeśli zdecydujesz się nie używać szablonu projektu Usługi systemu Windows, możesz napisać własne usługi, konfigurując dziedziczenie i inne elementy infrastruktury samodzielnie. Podczas programowego tworzenia usługi należy wykonać kilka kroków, które szablon w przeciwnym razie obsłuży:
Należy skonfigurować klasę usługi, aby dziedziczyła z ServiceBase klasy .
Musisz utworzyć metodę
Main
dla projektu usługi, która definiuje usługi do uruchamiania i wywołuje metodę Run na nich.Należy zastąpić OnStart procedury i OnStop i wypełnić dowolny kod, który ma zostać uruchomiony.
Aby programowo napisać usługę
Utwórz pusty projekt i utwórz odwołanie do niezbędnych przestrzeni nazw, wykonując następujące kroki:
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy węzeł Odwołania i kliknij polecenie Dodaj odwołanie.
Na karcie .NET Framework przewiń do System.dll i kliknij pozycję Wybierz.
Przewiń do System.ServiceProcess.dll i kliknij pozycję Wybierz.
Kliknij przycisk OK.
Dodaj klasę i skonfiguruj ją do dziedziczenia z ServiceBaseklasy :
public class UserService1 : ServiceBase { }
Public Class UserService1 Inherits System.ServiceProcess.ServiceBase End Class
Dodaj następujący kod, aby skonfigurować klasę usługi:
public UserService1() { ServiceName = "MyService2"; CanStop = true; CanPauseAndContinue = true; AutoLog = true; }
Public Sub New() Me.ServiceName = "MyService2" Me.CanStop = True Me.CanPauseAndContinue = True Me.AutoLog = True End Sub
Utwórz metodę
Main
dla klasy i użyj jej do zdefiniowania usługi, która będzie zawierać klasa;userService1
jest nazwą klasy:public static void Main() { ServiceBase.Run(new UserService1()); }
Shared Sub Main() System.ServiceProcess.ServiceBase.Run(New UserService1) End Sub
Zastąpij metodę i zdefiniuj wszelkie operacje przetwarzania, które chcesz wykonać po uruchomieniu OnStart usługi.
protected override void OnStart(string[] args) { // Insert code here to define processing. }
Protected Overrides Sub OnStart(ByVal args() As String) ' Insert code here to define processing. End Sub
Zastąpi wszelkie inne metody, dla których chcesz zdefiniować przetwarzanie niestandardowe, i napisz kod w celu określenia akcji, które usługa powinna wykonać w każdym przypadku.
Dodanie niezbędnych instalatorów dla aplikacji usługi. Aby uzyskać więcej informacji, zobacz How to: Add Installers to Your Service Application (Instrukcje: dodawanie instalatorów do aplikacji usługi).
Skompiluj projekt, wybierając pozycję Kompiluj rozwiązanie z menu Kompilacja .
Uwaga
Nie naciskaj klawisza F5, aby uruchomić projekt — w ten sposób nie można uruchomić projektu usługi.
Utwórz projekt instalacyjny i akcje niestandardowe, aby zainstalować usługę. Aby zapoznać się z przykładem, zobacz Przewodnik: tworzenie aplikacji usługi systemu Windows w Projektant składników.
Zainstaluj usługę. Aby uzyskać więcej informacji, zobacz Instrukcje: instalowanie i odinstalowywanie usług.