ASP 관리 방법Windows 서비스로 NET Core 3.1 웹 애플리케이션
Windows 서비스란 무엇입니까?
기준 Microsoft documentation:
Microsoft Windows services, formerly known as NT services, enable you to create long-running executable applications that run in their own Windows sessions. These services can be automatically started when the computer boots, can be paused and restarted, and do not show any user interface. These features make services ideal for use on a server or whenever you need long-running functionality that does not interfere with other users who are working on the same computer. You can also run services in the security context of a specific user account that is different from the logged-on user or the default computer account.
대부분의 애플리케이션을 장기간 실행해야 하는 경우 Windows 서비스가 가장 좋습니다.Windows 서비스는 exe, 즉 우리의 응용 프로그램의 실행 가능한 파일을 필요로 합니다.
애플리케이션을 Windows 서비스로 배포하는 이유
응용 프로그램을 만들 때, 사용자가 접근할 수 있도록 어디에 위탁 관리해야 합니다.우리는 그것을 IIS에 위탁 관리할 수도 있고, 윈도우즈 서비스로 사용할 수도 있다.다음은 Windows 서비스로 애플리케이션을 호스팅하는 몇 가지 이유입니다.
ASP에서 모델을 관리합니다.NET Core 3.1 애플리케이션
수미트 카시・ 20년 1월 27일・ 4분 읽기
ASP의 배포 모드입니다.NET Core 3.1
수미트 카시・ 20년 2월 4일・ 5분 읽기
ASP 관리.Windows용 NET Core 3.1 웹 API
따라서 이제 응용 프로그램을 Windows 서비스로 관리할 때가 되었다.우선, 우리는 기본적인 ASP를 만들어야 한다.NET Core 3.1 Web API.어떻게 만드는지 모르는 사람들은 다음 절차를 따른다.
Visual Studio 19를 열고 확인합니다.기기에 NET Core 3.1이 설치되어 있습니다.새 항목을 작성하고 ASP를 선택합니다.NET 핵심 웹 응용 프로그램 템플릿을 클릭한 다음 다음을 클릭합니다.
응용 프로그램의 이름을 지정한 다음 만들기 버튼을 클릭합니다.
ASP 를 선택합니다.NET Core 3.1 드롭다운 목록에서 API를 선택하고 만들기 버튼을 클릭합니다.
이렇게 웹 API를 만들었습니다.
다음 단계는 NuGet 패키지를 설치해야 합니다.
또는
Nuget 패키지 관리자 콘솔에서 다음 명령 실행
Install-Package Microsoft.Extensions.Hosting.WindowsServices
이제 웹 API를 Windows 서비스로 변환할 수 있는 코드는 한 줄뿐입니다.켜기Program.cs
를 클릭하면 CreateHostBuilder 메서드가 표시되므로 이 메서드의 끝에 UseWindows Service()를 추가합니다.public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
}).UseWindowsService();
이것이 바로 필요한 모든 코드 변경입니다.이제 다음 단계는 SCD 모드에서 애플리케이션을 배포하는 것입니다.따라서 응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고 게시 옵션을 선택합니다.
폴더로 게시 대상을 선택한 다음
Advanced..
단추를 클릭합니다.배치 모드를 포함하도록 선택하고, 대상이 실행될 때 win-x64를 누르고, 저장을 누르고, 설정 파일 만들기 단추를 누르십시오.
마지막으로 게시 버튼을 클릭하여 응용 프로그램을 게시합니다.
다음 명령을 실행하여 dotnet CLI를 사용하여 애플리케이션을 게시할 수도 있습니다.
dotnet publish -c Release -r win-x64 --self-contained
bin\Release\netcoreapp3.1로 이동하면 저희가 발표한 DLL을 포함하는 win-x64 폴더를 찾을 수 있습니다.Windows 서비스를 만들려면 관리자 모드에서 명령 프롬프트를 열고 다음 명령을 사용합니다.
sc create <name of service you want to create> binPath= <path of executable of your app>
따라서 다음과 같이 명령을 실행합니다.sc create WindowsServiceDemo binPath= "C:\Projects\WindowsServiceDemo\bin\Release\netcoreapp3.1\win-x64\WindowsServiceDemo.exe"
그래서 우리의 서비스가 탄생했다.서비스를 마우스 오른쪽 단추로 클릭하고 start를 누르십시오.따라서 웹 API는 URL
http://localhost:5000
에서 실행됩니다.현재 API에 컨트롤러가 하나밖에 없으므로 브라우저에서 URLhttp://localhost:5000/weatherforecast
을 클릭하여 출력할 수 있는지 확인하십시오.우리는 이미 우리의 ASP를 성공적으로 위탁 관리했다.NET Core 3.1 웹 API는 Windows 서비스입니다.
결론
본고에서 나는 Windows 서비스가 무엇인지, 응용 프로그램을 Windows 서비스로 위탁 관리하는 이유를 설명했다.또한 ASP를 호스팅하는 방법을 보여 줍니다.NET Core 3.1 웹 API는 Windows 서비스입니다.
나는 정말 네가 이 글을 좋아해서 친구에게 나누기를 바란다. 망설이지 말고 너의 생각이나 의견을 나에게 주어라.
너는 트위터에서 나를 팔로우할 수 있다.
즐거운 인코딩!
Reference
이 문제에 관하여(ASP 관리 방법Windows 서비스로 NET Core 3.1 웹 애플리케이션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sumitkharche/how-to-host-asp-net-core-3-1-web-applications-as-windows-service-52k2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)