.net core 自动重新连接Blazor服务器端

.net core 自动重新连接Blazor服务器端,.net-core,blazor,.net Core,Blazor,Blazor服务器端(dotnet core 3.1) 我遇到的问题是,在客户方面,如下所示: 无法重新连接到服务器。重新加载页面以恢复功能 每次我更新代码库或互联网被破坏或类似的事情 现在的目标是,一旦服务器再次返回(或在某个时间间隔内),它就应该重新加载页面 有没有可能对我有所帮助?您可以尝试以下代码: <script src="_framework/blazor.server.js"></script> <script> Blazor.defau

Blazor服务器端(dotnet core 3.1)

我遇到的问题是,在客户方面,如下所示:

无法重新连接到服务器。重新加载页面以恢复功能

每次我更新代码库或互联网被破坏或类似的事情

现在的目标是,一旦服务器再次返回(或在某个时间间隔内),它就应该重新加载页面

有没有可能对我有所帮助?

您可以尝试以下代码:

<script src="_framework/blazor.server.js"></script>

<script>
   Blazor.defaultReconnectionHandler._reconnectCallback = function(d) {
        document.location.reload(); 
   }
</script>

Blazor.defaultReconnectionHandler.\u reconnectCallback=函数(d){
document.location.reload();
}

一些人忘记的一个技巧是,你实际上可以“观察”你的代码库中的更改,如果你打开你最喜欢的终端并在与你的cproj文件相同的文件夹中运行
dotnet run watch debug,它应该会观察你的更改,因此当你刷新浏览器时,它应该会检测到你的应用程序的任何更改,更多信息请阅读:

dotnet watch是一种在源文件更改时运行.NET Core CLI命令的工具。例如,文件更改可以触发编译、测试执行或部署

希望这有帮助


//等待“重新加载”按钮出现
新突变观察者((突变,观察者)=>{
if(document.querySelector(“#components.h5 a”)){
//现在每10秒,查看服务器是否返回,如果返回,请重新加载
异步函数attemptReload(){
等待获取(“”);//检查服务器是否真的回来了
location.reload();
}
observer.disconnect();
尝试重新加载();
设置间隔(尝试重新加载,10000);
}
}).observe(document.body,{childList:true,subtree:true});
这将等待“重新加载”按钮出现,然后等待服务器备份后再实际重新加载


当应用程序取决于构建时间时,从。可以通过浏览器超时中断。但可以用于部署到站点。@Softlion我测试了这个解决方案,它正在工作。我已将重新连接回调的覆盖添加到my_Host。cshtmlIt似乎对浏览器是否重新加载没有任何影响。我的服务器位于代理服务器后面,因此这将导致重新加载显示代理错误页面。我在location.reload()之前添加了“if(response.ok)”,这就解决了这个问题——代理报告了一个错误,代码一直在重试,因为它不是2xx响应。