天天看點

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

本篇介紹如何釋出項目并在IIS上部署以供外部調用。

要通過IIS運作.NET5 core webapi需在IIS所在伺服器上配置運作環境,

包括 .NET Core 運作時、.NET Core 庫和 ASP.NET Core 子產品,他們都被打包在.NET Core 托管捆綁包中。

.net core運作時和.net core庫我們已經很熟悉了,簡單介紹一下ASP.NET Core 子產品。

一、ASP.NET Core 子產品

ASP.NET Core 子產品是插入 IIS 管道的本機 IIS 子產品,能讓 ASP.NET Core 應用程式通過 IIS 運作。

可以使用以下任一方式通過 IIS 運作 ASP.NET Core 應用:

1. 在 IIS 工作程序 (w3wp.exe) 内托管 ASP.NET Core 應用,稱為程序内托管模型,如下圖:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

上圖說明了 IIS、ASP.NET Core 子產品和程序内托管的應用之間的關系。

2. 将 Web 請求轉發到運作 Kestrel 伺服器的後端 ASP.NET Core 應用,稱為程序外托管模型,如下圖:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

上圖說明了 IIS、ASP.NET Core 子產品和程序外托管的應用之間的關系。

自 ASP.NET Core 3.0 起,預設情況下使用的是程序内托管模型,因為這樣可以得到更好的性能和診斷。

二、安裝.NET Core 托管捆綁包

.NET Core 托管捆綁包是 .NET Core 運作時和 ASP.NET Core 子產品的安裝程式, 官方下載下傳位址:

https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-5.0.3-windows-hosting-bundle-installer

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

本項目的.net版本是.net5 ,下載下傳時選擇對應的版本進行安裝,畫面如下:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)
html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)
html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)
html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)
html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)
html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

若要确定已安裝 ASP.NET Core 子產品的版本,先找到aspnetcorev2.dll

(C:\PROGRAMFILES\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll),

右鍵--屬性--詳細資訊,“檔案版本”和“産品版本”表示子產品的已安裝版本,如下圖:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

三、釋出webapi

1. 在VS2019的解決方案資料總管中選中項目點右鍵---釋出,如下:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

2. 我們将項目釋出到檔案夾中,如下圖:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

3. 下一步之後,可以看到釋出的界面,如下圖(下面的紅框是釋出的路徑):

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

4. 點"釋出"按鈕後生成的檔案路徑是"目标位置"後的紅框處。

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

5. 打開IIS建立一個WebDemo的網站,然後在該網站上" 右鍵--添加應用程式 ",如下圖:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

6 . 輸入應用程式名稱 "WebApiDemo" 及路徑(這裡指向項目釋出時的路徑)後點 "确定按鈕",如下圖:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

7. 可以看到WEB API就在IIS上部署完成了,如下圖:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

8.打開POSTMAN測試一下 , 輸入網址:http://localhost/WebApiDemo/api/users,結果如下:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

提示我們 401 沒有授權的資訊。

注意:因為此Webapi是在IIS上的WebDemo網站下以應用程式的方式部署的,

是以網址的localhost後要加上應用程式的名稱"WebApiDemo"才能通路。

9. 通路網址 http://localhost/WebApiDemo/api/users/login并配置好acc=111&pwd=222參數,結果如下:

html webapi實際項目,.net5 core webapi項目實戰之十九:釋出和部署(完結篇)

顯示生成的token資訊,說明在IIS上部署的webapi已經可以提供接口通路服務了。

(完結)

原文:https://www.cnblogs.com/pfm33/p/14398859.html