欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IIS上部署你的ASP.NET?Core?Web?Api項目及Swagger(圖文)

 更新時間:2023年09月15日 10:03:32   作者:hqwest  
本篇經(jīng)驗將和大家介紹如何在IIS上部署ASP.NET?Core項目,對大家的學習或者工作具有一定的參考學習價值,希望為初學.NET?CORE的童靴入門有所幫助

1、概述

與ASP.NET時代不同,ASP.NET Core不再是由IIS工作進程(w3wp.exe)托管,而是使用自托管Web服務器(Kestrel)運行,IIS則是作為反向代理的角色轉(zhuǎn)發(fā)請求到Kestrel不同端口的ASP.NET Core程序中,隨后就將接收到的請求推送至中間件管道中去,處理完你的請求和相關(guān)業(yè)務邏輯之后再將HTTP響應數(shù)據(jù)重新回寫到IIS中,最終轉(zhuǎn)達到不同的客戶端(瀏覽器,APP,客戶端等)。而配置文件和過程都會由些許調(diào)整,中間最重要的角色便是AspNetCoreModule,它是其中一個的IIS模塊,請求進入到IIS之后便立即由它轉(zhuǎn)發(fā),并迅速重定向到ASP.NET Core項目中,所以這時候我們無需設置應用程序池來托管我們的代碼,它只負責轉(zhuǎn)發(fā)請求而已。

這里我要做的是將一個asp.net core web api項目部署到iis上,同時包括將swagger也部署到iis,具體是在這篇文章基礎上,不明白的先看這個文章。

Asp.net core Web Api 配置swagger中文_hqwest的博客

2、安裝IIS

安裝完成,在控制面板--管理工具中可以看到Internet Information Services (IIS)管理器

3、運行環(huán)境配置

部署asp.net core web api項目需要安裝環(huán)境,IIS默認是不支持的,支持環(huán)境需要安裝net core運行時: dotnet-hosting-5.0.17-win.exe,原因就是前面概述中講的,.net core項目不是由iis工作進程(w3wp.exe)托管,需要先下載dotnet-hosting-5.0.17-win.exe

下載地址:下載 .NET 5.0 下載 .NET 5.0 (Linux、macOS 和 Windows)

如果你是64位就點X64,如果是32位就點X86,根據(jù)你自己系統(tǒng)來選擇下載 .NET 5.0 

 總之下載的就是這個,因為我的項目框架就是.net5,所以下的就是這個,如果你是.net6或7那就要對應的,總之是與你的項目框架是什么版本有關(guān),要對應起來。

 然后點擊運行安裝,然后在IIS工具可以看到

 就是這個騷騷騷的東西,害死人,必須要。模塊中存在就說明環(huán)境已經(jīng)安裝好了,沒有的話多重啟幾下IIS 或者重新再裝一次

4、修改項目配置

1、修改launchSettings.json

 2、修改startup.cs中的Configure方法

原來是這樣的

 49行修改成紅色框這樣的,實際是增加了一行代碼c.RoutePrefix = "";這個的意思是去掉路由的前綴。只改49行,其他都不要動。

3、修改屬性HouseSysWebApplication.xml

保存重新生成,啟動項目,界面是這樣的,地址欄中沒有swagger這個地址,這才是正確的,說明在VS上成功了。

 4、創(chuàng)建發(fā)布的目的

首先在D盤創(chuàng)建目錄,D:\website\HouseApp,目錄位置隨你自己定,這里是D:\website\HouseApp

并選擇目錄>右鍵>屬性>安全>編輯,也就是要給這個目錄添加everyone組的權(quán)限

 5、發(fā)布項目

項目右鍵-》發(fā)布

 發(fā)布的位置就是前面創(chuàng)建的目錄

 完成,開始發(fā)布

6、IIS操作

 這一步非常重要,重要得屌炸天。

7、修改web.config文件

 用VS打開,添加一行內(nèi)容

原來是這樣的

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\HouseSysWebApplication.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: A8FF705C-E12B-4F1A-87CE-47C8BC7A2C36-->

 增加一個內(nèi)容

<environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
 </environmentVariables>

完整的內(nèi)容是這樣的

<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<location path="." inheritInChildApplications="false">
		<system.webServer>
			<handlers>
				<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
			</handlers>
			<aspNetCore processPath="dotnet" arguments=".\HouseSysWebApplication.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
				<environmentVariables>
					<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
				</environmentVariables>
			</aspNetCore>
		</system.webServer>
	</location>
</configuration>
<!--ProjectGuid: A8FF705C-E12B-4F1A-87CE-47C8BC7A2C36-->

8、修改網(wǎng)站默認首頁

9、啟動網(wǎng)站

 點擊第一個接口,效果還是很好的

這才是我們要的,后端寫的接口不能只在自己的電腦上,而應該是在局域網(wǎng)的某臺服務器上,這樣項目成員才能通過瀏覽器訪問接口,重新 上面步驟,同樣可以部署在公網(wǎng)上,這樣在internet上就可以看到接口文檔了,如

到此這篇關(guān)于IIS上部署你的ASP.NET Core Web Api項目及Swagger(圖文)的文章就介紹到這了,更多相關(guān)IIS部署ASP.NET Core Web Api項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論