Blazor Server多租户应用添加InteractiveServer渲染模式后租户ID为空问题求助
多租户Blazor Server应用添加InteractiveServer渲染模式后租户ID为空的问题
背景
- 多租户Blazor Server应用,通过
CustomAuthenicationStateProvider从ApplicationUser中获取租户ID,存储到TenantIdServiceProvider中,该服务用于DbContextFactory设置全局查询过滤器 - 服务类通过注入的
IDbContextFactory创建DbContext实例
问题现象
- 未添加
@rendermode InteractiveServer时,所有功能正常 - 添加该渲染模式后,预渲染阶段能正常返回数据,但二次渲染时租户ID为空,导致页面数据消失
- 若将prerender设为
false,则始终无法获取数据,租户ID为空 - 尝试在
OnAfterRenderAsync生命周期方法中调用数据服务,同样无法返回数据,租户ID仍为空
更新
移除@rendermode InteractiveServer后功能恢复正常,但Navigation.NavigateTo()无法正常工作
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

