Распределенное хранилище состояний сеанса внедряет экземпляр IDistributedCache
по умолчанию. Это означает, что вы должны настроить распределенный кэш SQL Server в качестве кэша по умолчанию, если хотите использовать его для состояния сеанса.
Для ваших собственных целей кэширования вы можете создать «интерфейс-обертку», который конкретно представляет кэш Redis (например, IRedisCache
), зарегистрировать его и внедрить его в ваше промежуточное ПО / контроллеры / службы. Например:
public interface IRedisDistributedCache : IDistributedCache
{
}
public void ConfigureServices(IServiceCollection services)
{
// Add Redis caching
services.AddDistributedRedisCache();
services.AddSingleton<IRedisDistributedCache, RedisCache>();
// Add SQL Server caching as the default cache mechanism
services.AddDistributedSqlServerCache();
}
public class FooController : Controller
{
private readonly IRedisDistributedCache _redisCache;
public FooController(IRedisDistributedCache redisCache)
{
_redisCache = redisCache;
}
}