どうやってaspを?NetcoreサービスはWindowsサービスになります


もしあなたのaspがNetcoreサービスは最後にWindowsにインストールされて実行されます.では、毎回コンソールウィンドウを開いてサービスを実行したくないに違いありません.このように起動するたびに手動でサービスを開く必要があります.次に、コンソールウィンドウもユーザーに閉じられやすく、サービスは意外にも停止されます.次の方法であなたのaspを迅速にすることができます.NetcoreプログラムはWindowsサービスを作成し、Windowsにサービスを管理してもらうことができます.

Microsoftをインストールします。Extensions.Hosting.WindowsServicesパッケージ


次のコマンドを使用して、あなたのaspのために.NetcoreプロジェクトはMicrosoftをインストールします.Extensions.Hosting.WindowsServicesパッケージ
Install-Package Microsoft.Extensions.Hosting.WindowsServices

プログラムの変更cs


あなたは2つのことをしなければなりません.1つはHostにUseWindowsServicesを追加し、2つ目はconfigを削除します.Windowsサービスプログラムのデフォルトフォルダはc:windowssystem 32なので、そこにはappsettingsのようなものは見つかりません.jsonのような依存ファイルの場合、UseWindowServices以降、デフォルトフォルダはサービス内の実行可能ファイルの場所に自動的に指定されます.次はサンプルコードです.UseWindowsServiceをすべてのconfigの一番前に配置したことに注意してください.
 public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)            
                .UseWindowsService()
                .ConfigureAppConfiguration((hostingContext, config) =>
                {
     
                    //config.SetBasePath(Directory.GetCurrentDirectory());
                    config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
                    config.AddEnvironmentVariables();
                })
            .ConfigureLogging(logging =>
            {
     
                logging.ClearProviders();
                logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
            })
            .UseNLog()
            .ConfigureWebHostDefaults(webBuilder =>
            {
     
                webBuilder.UseNLog();
                webBuilder.UseStartup<Startup>();
            });            

リリースasp.Netcoreプロジェクト


次のコマンドを使用してaspをパブリッシュします.Netcoreプロジェクト
dotnet publish  pathToYourProject\yourAspNetProject.csproj --self-contained true -r win-x64 -c Release --output pathToYourProject\yourAspNetProject\bin\Release
etcoreapp3.1\publish\

Windowsサービスの登録


次のコマンドを使ってaspをNetcore実行可能ファイルWindows Serviceとして登録
sc create yourServiceName binPath=pathToYourProject\yourAspNetProject\bin\Release
etcoreapp3.1\publish\\publish\IGT.EzPay.yourAspNetProject.exe

小結


この文章はaspをどうするかを紹介します.NetcoreはWindowsサービスとその中の注意事項を作成しました.ソリューション全体がシンプルで効率的です.