C# IHttpContextAccessor会话GetString

C# IHttpContextAccessor会话GetString,c#,asp.net-core,.net-core,C#,Asp.net Core,.net Core,我正在尝试使用.NET Core运行时将ASP.NET MVC站点迁移到ASP.NET Core。以前,我们可以使用 var obj = HttpContext.Current.Session[key] 现在我已经阅读了我们必须注入IHttpContextAccessor并使用_contextAccessor.HttpContext.Session上的方法。但是会话对象的方法已经改变,不再应用索引 我见过有人在其他问题上使用HttpContext.Session.GetString()和Htt

我正在尝试使用.NET Core运行时将ASP.NET MVC站点迁移到ASP.NET Core。以前,我们可以使用

var obj = HttpContext.Current.Session[key]
现在我已经阅读了我们必须注入IHttpContextAccessor并使用_contextAccessor.HttpContext.Session上的方法。但是会话对象的方法已经改变,不再应用索引

我见过有人在其他问题上使用HttpContext.Session.GetString()和HttpContext.Session.SetString()

有了这些,我至少可以反序列化我想要获取的对象。但是我在界面上找不到这些方法

“ISession”不包含“GetString”的定义,也不包含扩展方法 找不到接受类型为“ISession”的第一个参数的“GetString”


如何访问这些方法?

GetString
是Microsoft.AspNetCore.Http.Extensions程序集中的一个,请确保您有对该程序集的引用。您可能还需要导入它:

using Microsoft.AspNetCore.Http;

专业提示:点击Ctrl+。在错误消息中,应建议为扩展方法和/或包添加正确的命名空间(如果尚未加载且方法参数正确)。此外,如果在.NET标准库中执行此操作(即没有
Microsoft.AspNetCore.All
NuGet),您需要
Microsoft.AspNetCore.Http.Extensions
numget,否则即使添加了using行,您仍然会收到此错误。