6

Jestem nowy Redis i korzystania przy użyciu VS 2015 i aplikacji ASP.NET rdzeniowego (v 1.0), zainstalowałem pakiet Nugget:Redis Cache w ASP.NET Rdzenia

Install-Package StackExchange.Redis 

Jednak nie jestem w stanie wstrzyknąć i skonfigurować go w moich usługach, nie ma metody "RedisCache lub" AddDistributedRedisCache ".

Jak mogę wstrzyknąć i użyć?

+0

Czy rzeczywiście chciał użyć 'Microsoft.Extensions.Caching. Redis' zamiast tego, który jest out-of-the-box redis obsługuje rozproszone buforowanie? Jest to jedna z 3 domyślnych implementacji interfejsu 'IDistrubutedCache' https://github.com/aspnet/Caching/tree/1.0.0/src – Tseng

+0

Zainstalowałem ** Microsoft.Extensions.Caching.Redis ** w pierwszej chwili, ale nie jest kompatybilny z .NET Core, potrzebuje 4.5. – Coding

+0

'StackExchange.Redis' zawiera tylko klienta redis, nie implementuje się w rdzeniu ASP.NET. Ale rozproszona implementacja pamięci podręcznej Microsoftu używa 'Microsoft.Extensions.Caching.Redis', jest tylko otoką wokół niego i interfejsem' IDistrubtedCache'. github.com/aspnet/Caching/blob/dev/src/Microsoft.Extensions.Caching.Redis/RedisCache.cs – Tseng

Odpowiedz

4

01.Download ostatnie Redis z download, zainstalować i uruchomić usługę Redis z services.msc

02.Add dwie biblioteki w project.json

"Microsoft.Extensions.Caching.Redis.Core": "1.0.3", 
"Microsoft.AspNetCore.Session": "1.1.0", 

03.Add ty Dependency Injection w

public void ConfigureServices(IServiceCollection services) 
    { 
     services.AddApplicationInsightsTelemetry(Configuration); 

     services.AddMvc(); 
     //For Redis 
     services.AddSession(); 
     services.AddDistributedRedisCache(options => 
     { 
      options.InstanceName = "Sample"; 
      options.Configuration = "localhost"; 
     }); 
    } 
  1. i w metodzie Configure dodaj górę aplikacji app.UseMvc linia

    app.Użycie sesji();

używać Redis w rdzeniu przechowywania sesji w asp.net .Teraz można korzystać tak w HomeController.cs

public class HomeController : Controller 
{ 
    private readonly IDistributedCache _distributedCache; 
    public HomeController(IDistributedCache distributedCache) 
    { 
     _distributedCache = distributedCache; 
    } 
    //Use version Redis 3.22 
    //http://stackoverflow.com/questions/35614066/redissessionstateprovider-err-unknown-command-eval 
    public IActionResult Index() 
    { 
     _distributedCache.SetString("helloFromRedis", "world"); 
     var valueFromRedis = _distributedCache.GetString("helloFromRedis"); 
     return View(); 
    } 
} 
Powiązane problemy