[英].NET Core Web Deploy to production takes down site while publishing?
我有一個使用IISIntegration()的.NET Core網站:
var contentRoot = Directory.GetCurrentDirectory();
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(contentRoot)
.UseSetting("detailedErrors", "true")
.UseIISIntegration()
.UseStartup<Startup>()
.CaptureStartupErrors(true)
.Build();
當我使用Web部署發布時,該網站發布很快,因為它現在不大,但是有一個2秒左右的時間段,如果您嘗試在發布時訪問生產網站(當它實際復制文件時)該網站已關閉,您將獲得一個空白頁面,標題為“正在建設中的網站”。
這與舊的EF 4.x不同,當您發布到已經運行的站點時,該站點只會旋轉並嘗試在發布時加載,但最終請求將在發布完成后進行並加載。
我似乎無法提及有關此特定問題的此問題或任何其他問題,沒有其他人有此問題以及解決方法是什么? 我們的團隊經常在一天中間發布錯誤修復的快速迭代(我們是非常小的商店),但我們不能讓網站每次停機幾秒鍾(或者如果網站變大,可能會更長)我們發布。
部署過程中,部署過程會將app_offline.htm
文件放在該文件夾中。 如果ASP.NET Core模塊找到此文件,它將關閉您的應用程序,而是為所有請求返回此文件的內容。
參考文獻:
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2#locked-deployment-files
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-2.2#app_offlinehtm
您可以通過在發布配置文件中設置<EnableMSDeployAppOffline>False</EnableMSDeployAppOffline>
來禁用此行為,但我還沒有測試這是否真的有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.