Servicecode in eine .NET-Konsolenanwendung integrieren
Wie können Sie eine Konsolenanwendung in einen Windows-Dienst umwandeln, ohne ein separates Projekt hinzuzufügen?
Lösung:
Sie können Servicecode nahtlos in Ihre Konsole integrieren Anwendung, damit sie sowohl als Konsolen-App als auch als Dienst ausgeführt werden kann. Betrachten Sie die folgende Technik:
using System.ServiceProcess; public static class Program { const string ServiceName = "MyService"; public class Service : ServiceBase { public Service() { ServiceName = Program.ServiceName; } protected override void OnStart(string[] args) { Program.Start(args); } protected override void OnStop() { Program.Stop(); } } static void Main(string[] args) { if (!Environment.UserInteractive) { // Running as service using (var service = new Service()) ServiceBase.Run(service); } else { // Running as console app Start(args); Console.WriteLine("Press any key to stop..."); Console.ReadKey(true); Stop(); } } private static void Start(string[] args) { // OnStart code here } private static void Stop() { // OnStop code here } }
Erklärung:
Das obige ist der detaillierte Inhalt vonWie kann ich Servicecode direkt in eine .NET-Konsolenanwendung integrieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!