日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

在 Windows 服务中托管 ASP.NET Core

發(fā)布時間:2023/12/4 asp.net 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 Windows 服务中托管 ASP.NET Core 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概述

眾所周知,ASP.NET Core采用了和傳統(tǒng)ASP.NET不同的托管和HTTP處理方式,即把服務器和托管環(huán)境完全解耦。
ASP.NET Core內置了兩個HTTP服務器實現(xiàn),一個是基于libuv實現(xiàn)的Kestrel(支持跨平臺),一個是基于Windows HTTP Server API實現(xiàn)的WebListener(僅支持Windows)。
而托管環(huán)境可以和服務器不相關,一般情況是自托管,或者托管到IIS/IISExpress中(此處的IIS僅作為反向代理把請求轉發(fā)給所使用的服務器實現(xiàn))。
因此,打算以Windows Service這種比較傳統(tǒng)的方式來部署ASP.NET Core的Web應用也是可行的(本質還是自托管,只是啟動進程并非控制臺程序,而是一個Windows Service)。這不,微軟就很貼心的提供了一個Nuget來支持:Microsoft.AspNetCore.Hosting.WindowsServices,

不使用 IIS 時,可以在 Windows 上將 ASP.NET Core 應用作為 Windows 服務進行托管。?作為 Windows 服務進行托管時,應用將在服務器重新啟動后自動啟動。

系統(tǒng)必備

  • ASP.NET .NET Core SDK 2.1 或更高版本

  • PowerShell 6.2 或更高版本

步驟

1、新建 ASP.NET Core 項目

2、引入Nuget包 Microsoft.AspNetCore.Hosting.WindowsServices

<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="3.0.0" />

3、Program修改為如下:

public class Program{ public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).UseWindowsService().ConfigureServices((hostContext, services) =>{services.AddHostedService<ServiceA>();services.AddHostedService<ServiceB>();}).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();});}

4、發(fā)布項目

5、管理員身份進入cmd ?切換到項目目錄下

執(zhí)行

sc create MyService binPath="D:\svc\MvcService.exe" 然后手動到服務里面啟動服務或者 sc start MyService

源碼下載

https://github.com/conanl5566/dotnet-core-Example/

tree/master/WebApplication24

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的在 Windows 服务中托管 ASP.NET Core的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。