.NetCore已經相當熟悉了,在此做一個簡單的demo嘗試,方便幫助新學習的朋友的,順便也記錄下有些小坑,廢話不多說直接上代碼,(順便說下小demo結合了sqlsugar ORM框架從數據庫獲取了數據)
1、新建一個.net core WebAPI項目
2、可直接運行,結果如下
3、接下來我們新建一個API,命名ReplenishLrController
(獲取數據邏輯在此不細述,咋們本次主要是聊使用的部署IIS)
4、運行結果如下
5、發布 WebAPI ,發布的目標是文件
6、IIS常規部署,然后將應用程序池改為無托管模式
就此,是不是以為就結束大功告成了,其實並沒有,接下來才是要說的重點,因為會有好幾個問題
問題一:報錯500.19
這是因為 .NET Core 是自托管的,所以要再 IIS 上面托管 .NET Core 要安裝一個.NET Core 托管捆綁包,這個包可以在官網下載:
本人裝的2.2版本的
安裝完成之后網站模塊會多出core的運行時。如圖
問題二:報錯404
因為.NetCore 5.0 自帶集成了Swagger , 在發布項目時,通常會在代碼中限制ASPNETCORE_ENVIRONMENT為Production時關閉Swagger。
解決方法:
項目發布后默認為 Production 生產環境,可修改 web.config 文件,在web.config中添加一下代碼(如下圖),改成 Development 開發環境就可以訪問。
<environmentVariables> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> </environmentVariables>
再次嘗試訪問,應該就OK了,在此記錄下,方便后者參考。