ASP.NET Core 7 Razor Pages項目發(fā)布到IIS的詳細(xì)過程
目錄
- 項目環(huán)境:
- 發(fā)布過程:
- 發(fā)布過程遇到的問題及解決方法:
- 解決辦法:
項目環(huán)境:
VS2022、.net7.0、SqlExpress10、IIS express10
發(fā)布過程:
- 在VS2022中,右擊項目名稱,選擇“發(fā)布”選項;
- 發(fā)布目標(biāo)選擇“文件夾”-->指定一個發(fā)布的目標(biāo)文件夾;
- 在IIS中新建一個站點,物理文件夾指定到剛才發(fā)布的文件夾;
- 啟動網(wǎng)站就OK了。
發(fā)布過程遇到的問題及解決方法:
問題1:涉及到數(shù)據(jù)庫的頁面都顯示錯誤內(nèi)容。
原因:項目處于發(fā)布狀態(tài),隱藏了敏感信息;
解決辦法:根據(jù)提示內(nèi)容新建一個windows的環(huán)境變量后,就能看到錯誤內(nèi)容了:
變量名:ASPNETCORE_ENVIRONMENT
變量值:Development
問題2:顯示錯誤內(nèi)容后提示無法連接到數(shù)據(jù)庫
錯誤內(nèi)容:SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server.
原因:因為項目使用的是MsSqlExpress數(shù)據(jù)庫,MsSqlExpress數(shù)據(jù)庫默認(rèn)是沒有打開遠程訪問的網(wǎng)絡(luò)功能的;
解決辦法:打開SQLServerManager10.msc,一般在C:\Windows\SysWOW64目錄下,因為我的EXPRESS是10版本,所以后面是SQLServerManager10.msc,不同版本不一樣。選擇SQL SERVER網(wǎng)絡(luò)配置,右擊啟動TCP/IP協(xié)議,右擊-->屬性-->IP,將TCP動態(tài)端口設(shè)置為0,TCP端口設(shè)置為1433,重啟SQL EXPRESS服務(wù)。
問題3:Microsoft.Data.SqlClient.SqlException 證書鏈?zhǔn)怯刹皇苄湃蔚念C發(fā)機構(gòu)頒發(fā)的;
解決辦法:
直接在“數(shù)據(jù)庫連接字符串最后面”增加證書信任的配置。;TrustServerCertificate=true
例如:下面配置標(biāo)紅部分在你的代碼配置中增加或者修改
<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的用戶權(quán)限有關(guān)。打開IIS管理器,選擇應(yīng)用程序池,然后右擊你站點的應(yīng)用程序池-->高級設(shè)置,更改“進程模型”下的標(biāo)識為“LocalSystem”。
到此這篇關(guān)于ASP.NET Core 7 Razor Pages項目發(fā)布到IIS的文章就介紹到這了,更多相關(guān)ASP.NET Core 發(fā)布到IIS內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
