【发布时间】:2017-09-04 19:59:56
【问题描述】:
我尽我所能理解了微软的文档,添加了这个;
// Adds a default in-memory implementation of IDistributedCache.
services.AddDistributedMemoryCache();
services.AddSession(options =>
{
// Set a short timeout for easy testing.
options.IdleTimeout = TimeSpan.FromSeconds(10);
options.CookieHttpOnly = true;
});
到 ConfigureServices(IServiceCollection services) 和这个;
app.UseSession();
配置(IApplicationBuilder 应用程序,...
然而,当我尝试在任何控制器的任何操作中访问 HttpContext.Session
我得到一个空引用异常。
我正在尝试强制实例化,但不知道要分配什么。我知道 HttpContext.Session 是一个 ISession 但我不知道是什么实现了该接口,如果我必须自己为某些键值对实现它是荒谬的。
我做错了什么?
-- 笔记: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state
【问题讨论】:
-
app.UseSession() 是在 app.UseMvc() 之后吗?如果是这样,您能否添加更多代码,因为从您显示的内容来看,它看起来是正确的。
-
是的。这就是问题所在。我阅读了 Vladimir 发布的文章。
-
请不要添加问题的答案,也不要使用 [已解决] 标题设备。如果您希望在现有已接受的答案中添加更多内容,欢迎您添加自己的答案。
标签: c# asp.net asp.net-mvc