Asp.net mvc 如何使自定义会话提供程序与ASP.NET 5一起工作?专门将Redis用于会话

Asp.net mvc 如何使自定义会话提供程序与ASP.NET 5一起工作?专门将Redis用于会话,asp.net-mvc,redis,asp.net-core,stackexchange.redis,Asp.net Mvc,Redis,Asp.net Core,Stackexchange.redis,在ASP.NETMVC4中,要将默认会话提供程序切换为自定义会话提供程序,必须通过web.config让应用程序知道,而现在ASP.NET5中已经没有了web.config 我曾尝试使用Microsoft.Web.RedisSessionStateProvider(它基于StackExchange.Redis),但除了通过NuGet获取它之外,不确定如何继续。它根本不起作用 我缺少什么?以下是一个会话示例,您可以在其中使用Redis缓存作为存储: 您可以配置Redis缓存选项,如下所示: se

在ASP.NETMVC4中,要将默认会话提供程序切换为自定义会话提供程序,必须通过web.config让应用程序知道,而现在ASP.NET5中已经没有了web.config

我曾尝试使用Microsoft.Web.RedisSessionStateProvider(它基于StackExchange.Redis),但除了通过NuGet获取它之外,不确定如何继续。它根本不起作用


我缺少什么?

以下是一个会话示例,您可以在其中使用Redis缓存作为存储:

您可以配置Redis缓存选项,如下所示:

services.Configure<RedisCacheOptions>(redisOptions =>
{
    redisOptions.Configuration = "localhost";
    redisOptions.InstanceName = "SampleInstance";
}
services.Configure(选项=>
{
redisOptions.Configuration=“localhost”;
redisOptions.InstanceName=“SampleInstance”;
}

几个月前,我有一个应用程序(类似于)连接到远程Redis服务器,如下所示:

app.UseDistributedSession(new RedisCache(new RedisCacheOptions() 
{ 
     Configuration = "ip:port,password=xxx"
}));

现在在beta7中可能有所不同,但希望能有所帮助。

示例中没有说明如何设置Redis服务器的IP和密码。@KiranChalla它没有帮助我……出于某种原因,这对我来说没有意义,它认为配置属性属于IConfiguration类型,而在现实生活中,它是一个字符串。@AngryHacker:看起来好像我的示例不正确…现在就更新了。@KiranChalla它编译了…但是,我仍然无法使实际的会话正常工作。您是否碰巧有一个示例项目将会话保存到Redis框中?您介意将该应用程序发布到某个地方(或其框架)。无论我尝试了什么(包括上面的代码),它只是不适用于最新的测试版。给你。我试着在Cloud Foundry中运行它,所以我的Redis凭据来自一个环境变量,你可以忽略这一部分。它在Linux上不起作用,它只在Windows上起作用。是的,我也在Windows上运行它。你的代码帮助了我,我现在更进一步了我缺少的一点是,在调用app.UseMvc之前,必须先设置所有内容。我是在事后设置会话的。无论如何,在这一点上,我在我的控制器操作中调用
Context.session.SetString(“foo”,“bar”);
,并获取
ERR unknown命令“EVAL”
。你知道从这里该怎么做吗?