이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 39816|회답: 3

[.NET 코어] 리눅스에서 .NET 코어를 기반으로 한 서비스

[링크 복사]
2020-10-29 14:20:02에 게시됨 | | | |
.NET CORE 3.0은 워커 서비스용 새로운 프로젝트 템플릿을 추가하여 장시간 실행 백그라운드 서비스를 작성하고 윈도우 서비스나 리눅스 데몬으로 쉽게 배포할 수 있습니다. 설치된 vs2019가 중국 버전이라면, 워커 서비스가 워커 역할이 됩니다.

리눅스 시스템 환경: CentOS 8 x64비트

새로운 워커 서비스 프로젝트 만들기

첫째, VS 2019를 열어 새로운 노동자 서비스 프로젝트를 만듭니다.



리눅스 서비스, 추가로 해야 할 점:

윈도우 서비스라면 다음을 추가해야 합니다:

여러 곳에서 프로그램을 실행하고 싶다면, 두 개의 패키지를 동시에 설치하면 됩니다. 다음으로 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는 MessageHandler를 사용하여 반환 인터페이스 모델 형식을 통합합니다
다음:HttpSelfHostServer 기반 콘솔 웹 API 서비스
 집주인| 2020-10-30 09:28:44에 게시됨 |
샘플 결과:
정보: 예시HostedService[0]
//           1. StartAsync에 연락이 왔습니다.
정보: 예시HostedService[0]
//           2. OnStarted가 호출되었습니다.
정보: Microsoft.Hosting.Lifetime[0]
지원 시작. Ctrl+C를 눌러 종료하세요.
정보: Microsoft.Hosting.Lifetime[0]
호스팅 환경: 프로덕션
정보: Microsoft.Hosting.Lifetime[0]
콘텐츠 루트 경로: .. \app-lifetime\bin\Debug\net5.0
정보: 예시HostedService[0]
//           3. OnStopping이 호출되었습니다.
정보: Microsoft.Hosting.Lifetime[0]
애플리케이션이 종료되고 있습니다...
정보: 예시HostedService[0]
//           4. StopAsync가 호출되었습니다.
정보: 예시HostedService[0]
//           5. OnStopped에 연락이 왔습니다.


 집주인| 2020-11-6 13:53:00에 게시됨 |
public abstract class BackgroundService : IHostedService, IDisposable

IHostedService 인터페이스는 ASP.NET Core 웹 애플리케이션(.NET Core 2.0 이후 버전)이나 어떤 프로세스/호스트에서든(.NET Core 2.1부터 IHost를 사용하면서) 백그라운드 작업을 편리하게 시작할 수 있는 방법을 제공합니다. 이 기술의 주요 장점은 호스트가 종료 직전일 때 수행할 수 있다는 점입니다가능성은 있습니다백그라운드 작업을 위해 코드를 정리하기 위해 일반 취소를 하세요.
 집주인| 2021-4-27 15:57:28에 게시됨 |
백엔드 서비스 확장 메서드를 등록하세요

면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com