在ASP样板服务层中获取会话

时间:2018-01-21 12:53:46

标签: asp.net session aspnetboilerplate

我目前正在使用AspNetBoilerplate在服务层实现我的服务......

所以我可以在MVC控制器中访问会话,如:

 Token token = HttpContext.Session["Token"] as Token; 

登录Token会话后启动....

我可以访问MVC控制器中的所有位置,但在ApplicationServiceBase中它是null,如:

public class AuditAppService : ApplicationServiceBase, IAuditAppService
{
    public GetUserActions_Box GetUserActions()
    {
        var token = HttpContext.Current.Session.GetToken();
        return GetUserActions_Box.Empty;
    }
}

HttpContext.Current.Session为什么?

应用服务在单独的库中实现,该库在主Web应用程序中添加。

我按照文档进行了划分This,我认为AbpSession不是我的解决方案,因为我们可以访问由AbpBoilerPlate身份验证系统发起的会话的一些基本信息,而不是我们的。

1 个答案:

答案 0 :(得分:1)

使用IAbpSession

您可以使用声明将自定义值添加到AbpSession。

之前在这里回答过如何扩展AbpSession Extend ClaimsAbpSession

阅读AbpSession https://aspnetboilerplate.com/Pages/Documents/Abp-Session