Context.Session在类的外部控制器

Context.Session在类的外部控制器

问题描述:

在控制器我目前使用Context.Session.GetString(*KEY*);
我有一个需要从存储在我用这个HttpContext.Current.Session[*KEY*]会议Context.Session在类的外部控制器

几个值读取类。

我试过在Stackoverflow和MSDN搜索没有运气。

+0

你是说HttpContext.Current。会话未定义?在asp.net 5中似乎没有改变。 –

+0

是的,当我在一个类中时,我不能访问Current。 –

+0

这个类是否被部署为您想要访问会话的同一个Web应用程序的一部分? –

HttpContext.Current不ASP.NET 5不复存在了,但有一个新的IHttpContextAccessor,你可以在你的依赖注入,并用它来获取当前HttpContexthttps://github.com/aspnet/Hosting/blob/dev/src/Microsoft.AspNet.Hosting.Abstractions/IHttpContextAccessor.cs

public class MyComponent : IMyComponent { 
    private readonly IHttpContextAccessor contextAccessor; 

    public MyComponent(IHttpContextAccessor contextAccessor) { 
     this.contextAccessor = contextAccessor; 
    } 

    public string GetDataFromSession() { 
     return contextAccessor.HttpContext.Session.GetString(*KEY*); 
    } 
}