g.p*_*dou 4 session httpcontext asp.net-core blazor-server-side
我正在尝试HttpContext.Session在我的 ASP.NET Core Blazor Server 应用程序中使用(如本MS Doc 中所述,我的意思是:在启动时全部正确设置)
这是我尝试设置值时的代码部分:
var session = _contextAccessor.HttpContext?.Session;
if (session != null && session.IsAvailable)
{
session.Set(key, data);
await session.CommitAsync();
}
Run Code Online (Sandbox Code Playgroud)
当这个代码在剃刀称为组件OnAfterRenderAsync的session.Set抛出以下异常:
响应开始后无法建立会话。
我(可能)理解该消息,但这使得 Session 基础设施非常不可用:应用程序需要在执行的每个阶段访问其状态......
题
我应该完全忘记DistributedSession基础设施,而去使用 Cookies 或浏览器 SessionStorage 吗?...或者这里是否有解决方法仍在使用HttpContext.Session?我不想只是为了较低级别的实现而放弃分布式会话基础设施......
(仅供参考:浏览器的会话存储不是跨选项卡,这很痛苦)
| 归档时间: |
|
| 查看次数: |
2934 次 |
| 最近记录: |