ASP.NET Core 7 Razor Pages項目發布到IIS的詳細過程
目錄
- 項目環境:
- 發布過程:
- 發布過程遇到的問題及解決方法:
- 解決辦法:
項目環境:
VS2022、.net7.0、SqlExpress10、IIS express10
發布過程:
- 在VS2022中,右擊項目名稱,選擇“發布”選項;
- 發布目標選擇“文件夾”-->指定一個發布的目標文件夾;
- 在IIS中新建一個站點,物理文件夾指定到剛才發布的文件夾;
- 啟動網站就OK了。
發布過程遇到的問題及解決方法:
問題1:涉及到數據庫的頁面都顯示錯誤內容。
原因:項目處于發布狀態,隱藏了敏感信息;
解決辦法:根據提示內容新建一個windows的環境變量后,就能看到錯誤內容了:
變量名:ASPNETCORE_ENVIRONMENT
變量值:Development
問題2:顯示錯誤內容后提示無法連接到數據庫
錯誤內容:SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server.
原因:因為項目使用的是MsSqlExpress數據庫,MsSqlExpress數據庫默認是沒有打開遠程訪問的網絡功能的;
解決辦法:打開SQLServerManager10.msc,一般在C:\Windows\SysWOW64目錄下,因為我的EXPRESS是10版本,所以后面是SQLServerManager10.msc,不同版本不一樣。選擇SQL SERVER網絡配置,右擊啟動TCP/IP協議,右擊-->屬性-->IP,將TCP動態端口設置為0,TCP端口設置為1433,重啟SQL EXPRESS服務。
問題3:Microsoft.Data.SqlClient.SqlException 證書鏈是由不受信任的頒發機構頒發的;
解決辦法:
直接在“數據庫連接字符串最后面”增加證書信任的配置。;TrustServerCertificate=true
例如:下面配置標紅部分在你的代碼配置中增加或者修改
<add name="ConnectionString" connectionString="Server=.;Initial Catalog=QDJYCZNZZ;Persist Security Info=False;User ID=sa;Password=123456;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=300;" providerName="System.Data.SqlClient" />
問題4:解決IIS APPPOOL\DefaultAppPool登錄失敗的問題
問題描述:用戶 'IIS APPPOOL\aikang' 登錄失敗。在VS里面打開能正常運行,在IIS里面打開就總是提示這個錯誤;
解決辦法:這個跟IIS的用戶權限有關。打開IIS管理器,選擇應用程序池,然后右擊你站點的應用程序池-->高級設置,更改“進程模型”下的標識為“LocalSystem”。
到此這篇關于ASP.NET Core 7 Razor Pages項目發布到IIS的文章就介紹到這了,更多相關ASP.NET Core 發布到IIS內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
