この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 39816|答える: 3

[.NET Core] Linux上の.NET Coreを基盤としたサービス

[リンクをコピー]
2020年10月29日 14:20:02に投稿 | | | |
.NET CORE 3.0では、ワーカーサービス用の新しいプロジェクトテンプレートが追加され、長期間実行するバックグラウンドサービスを書くことができ、WindowsサービスやLinuxデーモンとして簡単に展開できます。 インストールされたvs2019が中国版であれば、ワーカーサービスはワーカーロールになります。

Linuxシステム環境:CentOS 8 x64ビット

新しいワーカーサービスプロジェクトを作成

まず、VS 2019を開いて新しいワーカーサービスプロジェクトを作成しましょう。



Linuxサービスについて追加する必要があります:

Windowsサービスの場合は、以下を追加する必要があります:

複数の場所でプログラムを動かしたいなら、2つのパッケージを同時にインストールすればいいのです。 次にCreateHostBuilderでUseWindowsService()とUseSystemd()を追加してください。



プロジェクトが実装する関数は、/test/file.txtファイルにログを書き込むことで、メインコードは以下の通りです:



WriteFileのタスクコードは以下の通りです:

権限の問題により、プログラムは自動的に/testフォルダを作成できません。この点については後述します。

CentOSへのサービス展開

はい.NET Coreランタイムをインストールする(ASP.NET コアサポートを除く)




ASP.NET Coreをサポートするランタイムをインストールしたい場合は、以下のコマンドを実行します。

[語根@localhost~]# dotnet --list-runtimes
Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]


/testフォルダを作成し、以下のように権限を与えてください:

/etc/systemd/systemフォルダの下に、itsvse.serviceサービス設定ファイルを作成してください。

サービスアカウントの追加とフォルダの作成

Job.Serviceをサーバー/home/dotnetuser/jobディレクトリに公開・アップロードし、以下のように設定を公開します:



サービスを起動してください

サービス開始後は、以下の図のように通常通りファイルを書き込めることがわかります:



ソースコードダウンロード:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える


(終わり)




先の:ASP.NET WebApiはMessageHandlersを使ってリターンインターフェースモデルのフォーマットを統一しています
次に:HttpSelfHostServerベースのコンソールWeb API Service
 地主| 2020年10月30日 09:28:44に投稿 |
サンプル出力:
情報:ExampleHostedService[0]
//           1. StartAsyncに連絡が来ました。
情報:ExampleHostedService[0]
//           2. OnStartedが呼ばれました。
情報:Microsoft.Hosting.Lifetime[0]
申請開始。 Ctrl+Cを押してシャットダウンします。
情報:Microsoft.Hosting.Lifetime[0]
ホスティング環境:本番環境
情報:Microsoft.Hosting.Lifetime[0]
コンテンツルートパス: .. \app-lifetime\bin\Debug\net5.0
情報:ExampleHostedService[0]
//           3. OnStoppingが呼ばれました。
情報:Microsoft.Hosting.Lifetime[0]
アプリケーションがシャットダウンしている...
情報:ExampleHostedService[0]
//           4. StopAsyncが呼ばれました。
情報:ExampleHostedService[0]
//           5. OnStoppedに連絡が出ました。


 地主| 2020年11月6日 13:53:00に投稿 |
パブリック抽象クラス BackgroundService : IHostedService, IDisposable

IHostedServiceインターフェースは、ASP.NET Coreのウェブアプリケーション(.NET Core 2.0以降)や、任意のプロセス/ホスト(IHostを使用。.NET Core 2.1以降)でバックグラウンドタスクを開始する便利な方法を提供します。 主な利点は、ホスト自身がシャットダウン寸前で実行できることです可能性はありますバックグラウンドタスクのためにコードをクリーンアップするために通常のキャンセルをしてください。
 地主| 2021年4月27日 15:57:28に投稿 |
バックエンドサービス拡張メソッドを登録します

免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com