尝试将 Redis 缓存用作已存在的 Web 应用程序中的会话存储,该应用程序是在 asp.net mvc 核心 (2.1.1) 中开发的。
指的是https://garywoodfine.com/redis-inmemory-cache-asp-net-mvc-core/
和https://joonasw.net/view/redis-cache-session-store但是当尝试在 Redis 桌面管理器中检查会话设置/获取值时,没有显示任何内容。
是否需要任何额外的步骤来使会话存储使用 Redis 缓存而不是默认的内存中 (in-proc) 选项?
启动文件
public void ConfigureServices(IServiceCollection services)
{
services.AddDistributedRedisCache(options =>
{
options.InstanceName = Configuration.GetValue<string>
("redis:name");
options.Configuration = Configuration.GetValue<string>
("redis:host");
});
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddSessionStateTempDataProvider();
services.AddSingleton<IDistributedCache, RedisCache>();
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(60);
});
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Login}/{action=Login}/{id?}");
}); …Run Code Online (Sandbox Code Playgroud)