asp.net-mvc - ServiceStack - System.Web.HttpContext.Current.Session 为空
问题描述
我有与 ServiceStack API 集成的遗留 .net mvc 应用程序,我需要从 ServiceStack API 获取/设置会话值,以便与遗留系统通信以确保正常工作。我探索了 ServiceStack 文档/其他材料中可用的多个选项,但在我的情况下似乎没有任何效果。
启用会话功能:
Plugins.Add(new SessionFeature());
尝试直接使用:
HttpContext.Current.Session
替代方式:
var req = (HttpRequest)base.RequestContext.Get<IHttpRequest>().OriginalRequest;
var session = req.RequestContext.HttpContext.Session;
但他们似乎都没有工作。
解决方案
ServiceStack Sessions是一个完全独立的实现,不依赖或耦合到 ASP.NET 的 Sessions。
要在 ServiceStack 请求中启用对 ASP.NET 会话的访问,您需要使用启用 ASP.NET 会话IHttpHandler
文档中记录的IRequiresSessionState
接口来装饰它。
推荐阅读
- php - 为什么我不能有两个单独的函数同时返回两个不同的视图?
- r - 数据表中的动态列调用和转换部分按编号部分按名称
- python - python上有两个变量的线性回归
- php - Laravel Horizon - 一个主管运行多个队列
- kubernetes - 为什么 Kubernetes HA 需要奇数个 master
- amazon-web-services - AWS Cognito - 成功注册后获取令牌
- laravel - Laravel - GET请求下载自动注销
- python - 使用 Python 调用带有身份验证的 REST API
- php - 如何在mysql datetime列中存储带有时区信息的时间?
- react-redux - 测试反应异步动作创建者 - 未定义的数据