サービス コードを .NET コンソール アプリケーションに統合する
別のプロジェクトを追加せずに、コンソール アプリケーションを Windows サービスに変換するにはどうすればよいですか?
解決策:
次のことができます。サービス コードをコンソール アプリケーションにシームレスに統合して、コンソール アプリケーションとサービスの両方として実行できるようにします。次の手法を考えてみましょう:
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 } }
説明:
以上がサービス コードを .NET コンソール アプリケーションに直接統合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。