解决ASP.NET Core部署到IIS,更新项目另一个程序正在使用此文件,进程无法访问...
問(wèn)題
部署到IIS上的ASP.NET Core項(xiàng)目,在更新的時(shí)候會(huì)進(jìn)程占用的錯(cuò)誤
解決思路
初步解決方案:
1,關(guān)閉應(yīng)用程序池
2,關(guān)閉網(wǎng)站
3,更新項(xiàng)目
缺點(diǎn):網(wǎng)站沒(méi)法訪問(wèn),部署項(xiàng)目停的時(shí)間過(guò)長(zhǎng)
答案
查詢官方文檔后,官方給出的方案:
如果應(yīng)用正在運(yùn)行,部署文件夾中的文件會(huì)被鎖定。?在部署期間,無(wú)法覆蓋已鎖定的文件。?若要在部署中解除已鎖定的文件,請(qǐng)使用以下方法之一 停止應(yīng)用池:
使用 Web 部署并在項(xiàng)目文件中引用 Microsoft.NET.Sdk.Web。?系統(tǒng)會(huì)在 Web 應(yīng)用目錄的根目錄中放置一個(gè) app_offline.htm 文件 。?該文件存在時(shí),ASP.NET Core 模塊會(huì)在部署過(guò)程中正常關(guān)閉該應(yīng)用并提供 app_offline.htm 文件 。?有關(guān)詳細(xì)信息,請(qǐng)參閱 ASP.NET Core 模塊配置參考。
在服務(wù)器上的 IIS 管理器中手動(dòng)停止應(yīng)用池。
使用 PowerShell 刪除 app_offline.html (需要使用 PowerShell 5 或更高版本):
PowerShell
參考文檔
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
總結(jié)
以上是生活随笔為你收集整理的解决ASP.NET Core部署到IIS,更新项目另一个程序正在使用此文件,进程无法访问...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 12 个问题搞懂 Redis
- 下一篇: 使用Redis Stream来做消息队列