在大多數情況下,Blazor將與以前相同的線路上重新連接到服務器,但有時無法重新連接,需要重新加載web瀏覽器才能使網站重新作業,如果服務器回收應用程式池,則需要手動重新加載頁面
在沒有除錯的情況下在IIS Express上開發和運行站點時,使用自動重新加載可以加快開發程序,只需保存您的檔案并切換到web瀏覽器,它將在編譯完所有內容并準備就緒時自動重繪,
有一種方法可以自動重新加載瀏覽器, 前一段時間,丹·羅斯(Dan Roth)在Github上發布了一個解決方案,將以下腳本粘貼到_host.cshtml中, 這使用JS DOM mutation observer API來檢測“重新加載”按鈕何時可見,并自動重新加載頁面,
<script>
// 等待直到出現“重新加載”按鈕
new MutationObserver((mutations, observer) => {
if (document.querySelector('#components-reconnect-modal h5 a')) {
// 現在,每隔10秒,查看服務器是否回傳,如果回傳,則重新加載
async function attemptReload() {
await fetch(''); // 檢查服務器是否真的回傳
location.reload();
}
observer.disconnect();
attemptReload();
setInterval(attemptReload, 10000);
}
}).observe(document.body, { childList: true, subtree: true });
</script>
更多查看 https://github.com/dotnet/aspnetcore/issues/10325
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/52851.html
標籤:.NET Core
上一篇:NET Core 部署IIS 碰到得問題解決(內托管模式超時、不允許得請求謂詞、直接請求無回應、拒絕服務405)
