Asp.net mvc .NETCore1.1中的会话

Asp.net mvc .NETCore1.1中的会话,asp.net-mvc,asp.net-core-mvc,.net-core,asp.net-core-1.1,Asp.net Mvc,Asp.net Core Mvc,.net Core,Asp.net Core 1.1,我想在ASP.NET MVC CORE 1.1中使用会话,但有点困惑 以下两者之间的区别是什么: services.AddDistributedMemoryCache(); vs services.AddMemoryCache(); 看起来会话在没有这两个服务的情况下也可以工作,为什么呢?服务。AddMemoryCache() 表示存储在本地web服务器内存中的缓存 services.AddDistributedMemoryCache() 它表示多个应用服务器共享的缓存。缓存中的信息不会存储在

我想在ASP.NET MVC CORE 1.1中使用会话,但有点困惑

以下两者之间的区别是什么:

services.AddDistributedMemoryCache(); vs services.AddMemoryCache();

看起来会话在没有这两个服务的情况下也可以工作,为什么呢?

服务。AddMemoryCache()

表示存储在本地web服务器内存中的缓存

services.AddDistributedMemoryCache()

它表示多个应用服务器共享的缓存。缓存中的信息不会存储在单个web服务器的内存中,缓存的数据可供应用程序的所有服务器使用。在这种情况下,您可以配置Redis和SQL Server分布式缓存

有关更多信息,请参阅以下链接-


如果我希望会话仅存储在客户端浏览器中,该怎么办?我不确定,但我认为您可以像这样配置会话cookie-
services.AddSession(opts=>{opts.CookieName=“.MySession.session”;opts.IdleTimeout=TimeSpan.frommins(10);})如果我只想在客户端的浏览器中存储值,这是否意味着我不需要services.AddMemoryCache()等,而只需要services.AddSession(..)?我从未尝试过不使用缓存。根据文档-
会话必须在应用程序的启动类中配置。会话是在IDistributedCache之上构建的,因此您也必须对此进行配置,否则将收到错误。