我注意到,在本地开发环境中工作时,Blazor Server 中的交互性无需额外配置即可开箱即用。
据我了解,交互性取决于拥有 SignalR 服务器。这是正确的吗?如果是的话,在哪里配置?
我知道有关于如何在 Azure 中设置 SignalR 服务器并在应用程序中配置它的文档,但我只是想知道如果您还没有这样做,它是如何开箱即用的?
Blazor Server 的交互性确实依赖于 SignalR 服务器。在 Blazor Server 中使用交互性时,Blazor Server 组件使用 SignalR 来维护客户端和服务器之间的持久 WebSocket 连接。通过这个连接,服务器可以将UI更新推送到客户端,客户端也可以将事件传回服务器。创建 Blazor Server 项目时,SignalR 会自动包含在 ASP.NET Core 默认配置中。项目中已经包含了必要的库和中间件,因此您无需手动配置SignalR服务器,即可立即在本地环境中使用实时通信功能。
关于 SignalR 的配置,SignalR Hubs API 使连接的客户端能够调用服务器上的方法,从而促进实时通信。我们可以从IEndpointRouteBuilder接口的扩展方法中看到配置相关Blazor Hub映射到路径的方法。