我尝试使用.NET Core运行时将ASP.NET MVC站点迁移到ASP.NET Core。以前我们可以通过
将对象从会话存储中取出,即使在不同的程序集中也是如此var obj = HttpContext.Current.Session[key]
现在我已经读过了我们必须注入IHttpContextAccessor并使用_contextAccessor.HttpContext.Session上的方法。但是Session对象的方法已经改变,并且不再应用索引。
我在其他问题中看过人们使用HttpContext.Session.GetString()和HttpContext.Session.SetString():
有了这些,我至少可以取消/序列化我想要获取/获取的对象。但我无法在界面上找到这些方法。
'的Isession'不包含' GetString'的定义没有扩展方法 '的GetString'接受第一个类型' ISession'可以找到
如何访问这些方法?
答案 0 :(得分:18)
GetString
是Microsoft.AspNetCore.Http.Extensions
程序集中的extension method,请确保您对此有所引用。您可能还需要导入它:
using Microsoft.AspNetCore.Http;