/// <summary> /// Initialise and add in-process memory based session hooks to the application pipeline /// </summary> /// <param name="pipelines">Application pipelines</param> /// <param name="configuration">In-process memory based sessions configuration.</param> public static void EnableInProcSessions(this IPipelines pipelines, InProcSessionsConfiguration configuration) { if (configuration == null) throw new ArgumentNullException("configuration"); if (!configuration.IsValid) throw new ArgumentException("Configuration is invalid", "configuration"); // Composition root for the memory based sessions feature var sessionCache = new InProcSessionCache(new RealSystemClock()); var sessionManager = new InProcSessionManager( configuration, sessionCache, new InProcSessionFactory(configuration, new RealSystemClock()), new PeriodicCacheCleaner(configuration, sessionCache, new PeriodicTaskFactory(), new CancellationTokenSourceFactory())); Enable(pipelines, sessionManager); }
/// <summary> /// Initialise and add in-process memory based session hooks to the application pipeline /// </summary> /// <param name="pipelines">Application pipelines</param> /// <param name="configuration">In-process memory based sessions configuration.</param> public static void EnableInProcSessions(this IPipelines pipelines, InProcSessionsConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException("configuration"); } if (!configuration.IsValid) { throw new ArgumentException("Configuration is invalid", "configuration"); } // Composition root for the memory based sessions feature var sessionCache = new InProcSessionCache(new RealSystemClock()); var sessionManager = new InProcSessionManager( configuration, sessionCache, new InProcSessionFactory(configuration, new RealSystemClock()), new PeriodicCacheCleaner(configuration, sessionCache, new PeriodicTaskFactory(), new CancellationTokenSourceFactory())); Enable(pipelines, sessionManager); }