首页 > 解决方案 > 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;

但他们似乎都没有工作。

参考

标签: asp.net-mvcsessionservicestacksession-cookiessession-state

解决方案


ServiceStack Sessions是一个完全独立的实现,不依赖或耦合到 ASP.NET 的 Sessions。

要在 ServiceStack 请求中启用对 ASP.NET 会话的访问,您需要使用启用 ASP.NET 会话IHttpHandler文档中记录的IRequiresSessionState接口来装饰它。


推荐阅读