我目前正在使用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身份验证系统发起的会话的一些基本信息,而不是我们的。
答案 0 :(得分:1)
使用IAbpSession
。
您可以使用声明将自定义值添加到AbpSession。
之前在这里回答过如何扩展AbpSession Extend ClaimsAbpSession
阅读AbpSession https://aspnetboilerplate.com/Pages/Documents/Abp-Session