public async Task RunSampleAsync() { var key = Guid.NewGuid().ToString(); var message = "Hello, World!"; var value = Encoding.UTF8.GetBytes(message); Console.WriteLine("Connecting to cache"); var cache = new SqlServerCache( new CacheOptions( new SqlServerCacheOptions() { ConnectionString = Configuration["ConnectionString"], SchemaName = Configuration["SchemaName"], TableName = Configuration["TableName"] })); await cache.ConnectAsync(); Console.WriteLine("Connected"); Console.WriteLine("Cache item key: {0}", key); Console.WriteLine($"Setting value '{message}' in cache"); await cache.SetAsync( key, value, new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(10))); Console.WriteLine("Set"); Console.WriteLine("Getting value from cache"); value = await cache.GetAsync(key); if (value != null) { Console.WriteLine("Retrieved: " + Encoding.UTF8.GetString(value, 0, value.Length)); } else { Console.WriteLine("Not Found"); } Console.WriteLine("Refreshing value in cache"); await cache.RefreshAsync(key); Console.WriteLine("Refreshed"); Console.WriteLine("Removing value from cache"); await cache.RemoveAsync(key); Console.WriteLine("Removed"); Console.WriteLine("Getting value from cache again"); value = await cache.GetAsync(key); if (value != null) { Console.WriteLine("Retrieved: " + Encoding.UTF8.GetString(value, 0, value.Length)); } else { Console.WriteLine("Not Found"); } Console.ReadLine(); }
public DistributedSessionStore(SqlServerCache cache, ILoggerFactory loggerFactory) { _cache = cache ?? throw new ArgumentNullException(nameof(cache)); _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); }