ASP 관리 방법Windows 서비스로 NET Core 3.1 웹 애플리케이션

본 논문에서 우리는 ASP를 어떻게 배치하고 위탁 관리하는지 토론할 것이다.NET Core 3.1 웹 API는 Windows 서비스입니다.응용 프로그램을 왜 윈도우즈 서비스로 관리하는지, 그리고 왜 IIS에서 관리하지 않는지 등 문제가 있을 수 있습니다.따라서 본고에서 우리는 응용 프로그램을 윈도우즈 서비스로 위탁 관리하는 이유를 볼 수 있다. 우리는 웹 API를 만들고 이를 윈도우즈 서비스로 위탁 관리할 것이다.우리 커피 한잔 마시고 인코딩을 시작합시다.

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 서비스로 애플리케이션을 호스팅하는 몇 가지 이유입니다.
  • 때때로 우리는 IIS에서 응용 프로그램을 위탁 관리하지만, 우리는 IIS의 모든 기능을 이용하지 않는다.
  • 웹 응용 프로그램을 호스팅하는 기계가 IIS를 사용하지 않거나 IIS를 호스팅했지만 호스팅되지 않은 경우NET 핵심 어플리케이션
  • 응용 프로그램을 Windows 서비스로 호스팅할 실행 가능한 파일이 필요하다는 점에 대해 논의했습니다.그러니까 그걸 해야 돼.NET Core는 자체 포함 배포(SCD)라는 배포 모드를 제공합니다.응용 프로그램을 SCD로 게시하면 응용 프로그램의 실행 파일을 제공합니다.NET Core 실행 시 DLL다른 위탁 관리와 배치 모델을 모르신다면.NET Core 를 참조하십시오.




    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는 URLhttp://localhost:5000에서 실행됩니다.현재 API에 컨트롤러가 하나밖에 없으므로 브라우저에서 URLhttp://localhost:5000/weatherforecast을 클릭하여 출력할 수 있는지 확인하십시오.

    우리는 이미 우리의 ASP를 성공적으로 위탁 관리했다.NET Core 3.1 웹 API는 Windows 서비스입니다.

    결론


    본고에서 나는 Windows 서비스가 무엇인지, 응용 프로그램을 Windows 서비스로 위탁 관리하는 이유를 설명했다.또한 ASP를 호스팅하는 방법을 보여 줍니다.NET Core 3.1 웹 API는 Windows 서비스입니다.
    나는 정말 네가 이 글을 좋아해서 친구에게 나누기를 바란다. 망설이지 말고 너의 생각이나 의견을 나에게 주어라.
    너는 트위터에서 나를 팔로우할 수 있다.
    즐거운 인코딩!

    좋은 웹페이지 즐겨찾기