/// <summary> /// Initialise and add redis based session hooks to the application pipeine /// </summary> /// <param name="pipelines">Application pipelines</param> /// <param name="cryptographyConfiguration">Cryptography configuration</param> /// <returns>Formatter selector for choosing a non-default serializer</returns> public static IObjectSerializerSelector Enable(IPipelines pipelines, CryptographyConfiguration cryptographyConfiguration) { var redisBasedSessionsConfiguration = new RedisBasedSessionsConfiguration(cryptographyConfiguration) { Serializer = new DefaultObjectSerializer() }; return(Enable(pipelines, redisBasedSessionsConfiguration)); }
/// <summary> /// Initializes a new instance of the <see cref="RedisBasedSessions"/> class. /// </summary> /// <param name="encryptionProvider">The encryption provider.</param> /// <param name="hmacProvider">The hmac provider</param> /// <param name="objectSerializer">Session object serializer to use</param> public RedisBasedSessions(IEncryptionProvider encryptionProvider, IHmacProvider hmacProvider, IObjectSerializer objectSerializer) { _currentConfiguration = new RedisBasedSessionsConfiguration { Serializer = objectSerializer, CryptographyConfiguration = new CryptographyConfiguration(encryptionProvider, hmacProvider) }; if (_redis == null) _redis = ConnectionMultiplexer.Connect(_currentConfiguration.ConnectionString); _db = _redis.GetDatabase(); }
/// <summary> /// Initialise and add redis based session hooks to the application pipeine /// </summary> /// <param name="pipelines">Application pipelines</param> /// <param name="configuration">Redis based sessions configuration.</param> /// <returns>Formatter selector for choosing a non-default serializer</returns> public static IObjectSerializerSelector Enable(IPipelines pipelines, RedisBasedSessionsConfiguration configuration) { if (pipelines == null) { throw new ArgumentNullException("pipelines"); } var sessionStore = new RedisBasedSessions(configuration); pipelines.BeforeRequest.AddItemToStartOfPipeline(ctx => LoadSession(ctx, sessionStore)); pipelines.AfterRequest.AddItemToEndOfPipeline(ctx => SaveSession(ctx, sessionStore)); return(sessionStore); }
/// <summary> /// Initializes a new instance of the <see cref="RedisBasedSessions"/> class. /// </summary> /// <param name="encryptionProvider">The encryption provider.</param> /// <param name="hmacProvider">The hmac provider</param> /// <param name="objectSerializer">Session object serializer to use</param> public RedisBasedSessions(IEncryptionProvider encryptionProvider, IHmacProvider hmacProvider, IObjectSerializer objectSerializer) { _currentConfiguration = new RedisBasedSessionsConfiguration { Serializer = objectSerializer, CryptographyConfiguration = new CryptographyConfiguration(encryptionProvider, hmacProvider) }; if (_redis == null) { _redis = ConnectionMultiplexer.Connect(_currentConfiguration.ConnectionString); } _db = _redis.GetDatabase(); }
/// <summary> /// Initializes a new instance of the <see cref="RedisBasedSessions"/> class. /// </summary> /// <param name="configuration">Redis based sessions configuration.</param> public RedisBasedSessions(RedisBasedSessionsConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException("configuration"); } if (!configuration.IsValid) { throw new ArgumentException("Configuration is invalid", "configuration"); } _currentConfiguration = configuration; if (_redis == null) _redis = ConnectionMultiplexer.Connect(_currentConfiguration.ConnectionString); _db = _redis.GetDatabase(); }
/// <summary> /// Initializes a new instance of the <see cref="RedisBasedSessions"/> class. /// </summary> /// <param name="configuration">Redis based sessions configuration.</param> public RedisBasedSessions(RedisBasedSessionsConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException("configuration"); } if (!configuration.IsValid) { throw new ArgumentException("Configuration is invalid", "configuration"); } _currentConfiguration = configuration; if (_redis == null) { _redis = ConnectionMultiplexer.Connect(_currentConfiguration.ConnectionString); } _db = _redis.GetDatabase(); }
/// <summary> /// Initialise and add redis based session hooks to the application pipeine /// </summary> /// <param name="pipelines">Application pipelines</param> /// <param name="configuration">Redis based sessions configuration.</param> /// <returns>Formatter selector for choosing a non-default serializer</returns> public static IObjectSerializerSelector Enable(IPipelines pipelines, RedisBasedSessionsConfiguration configuration) { if (pipelines == null) { throw new ArgumentNullException("pipelines"); } var sessionStore = new RedisBasedSessions(configuration); pipelines.BeforeRequest.AddItemToStartOfPipeline(ctx => LoadSession(ctx, sessionStore)); pipelines.AfterRequest.AddItemToEndOfPipeline(ctx => SaveSession(ctx, sessionStore)); return sessionStore; }
/// <summary> /// Initialise and add redis based session hooks to the application pipeine /// </summary> /// <param name="pipelines">Application pipelines</param> /// <param name="cryptographyConfiguration">Cryptography configuration</param> /// <returns>Formatter selector for choosing a non-default serializer</returns> public static IObjectSerializerSelector Enable(IPipelines pipelines, CryptographyConfiguration cryptographyConfiguration) { var redisBasedSessionsConfiguration = new RedisBasedSessionsConfiguration(cryptographyConfiguration) { Serializer = new DefaultObjectSerializer() }; return Enable(pipelines, redisBasedSessionsConfiguration); }