CQRS.NET  4.0
A lightweight enterprise Function as a Service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments.
Cqrs.Events.MemoryCacheEventStore< TAuthenticationToken > Class Template Reference

A, EventStore<TAuthenticationToken> that uses a MemoryCache implementation, flushing out data (I.E. it's not persisted) More...

+ Inheritance diagram for Cqrs.Events.MemoryCacheEventStore< TAuthenticationToken >:

Public Member Functions

 MemoryCacheEventStore (IConfigurationManager configurationManager, IEventBuilder< TAuthenticationToken > eventBuilder, IEventDeserialiser< TAuthenticationToken > eventDeserialiser, ILogger logger)
 Instantiates a new instance of MemoryCacheEventStore<TAuthenticationToken> and calls StartRefreshSlidingExpirationValue. More...
 
override IEnumerable< IEvent< TAuthenticationToken > > Get (Type aggregateRootType, Guid aggregateId, bool useLastEventOnly=false, int fromVersion=-1)
 Gets a collection of IEvent<TAuthenticationToken> for the IAggregateRoot<TAuthenticationToken> of type aggregateRootType with the ID matching the provided aggregateId . More...
 
override IEnumerable< IEvent< TAuthenticationToken > > GetToVersion (Type aggregateRootType, Guid aggregateId, int version)
 Gets a collection of IEvent<TAuthenticationToken> for the IAggregateRoot<TAuthenticationToken> of type aggregateRootType with the ID matching the provided aggregateId up to and including the provided version . More...
 
override IEnumerable< IEvent< TAuthenticationToken > > GetToDate (Type aggregateRootType, Guid aggregateId, DateTime versionedDate)
 Gets a collection of IEvent<TAuthenticationToken> for the IAggregateRoot<TAuthenticationToken> of type aggregateRootType with the ID matching the provided aggregateId up to and including the provided versionedDate . More...
 
override IEnumerable< IEvent< TAuthenticationToken > > GetBetweenDates (Type aggregateRootType, Guid aggregateId, DateTime fromVersionedDate, DateTime toVersionedDate)
 Gets a collection of IEvent<TAuthenticationToken> for the IAggregateRoot<TAuthenticationToken> of type aggregateRootType with the ID matching the provided aggregateId from and including the provided fromVersionedDate up to and including the provided toVersionedDate . More...
 
override IEnumerable< EventDataGet (Guid correlationId)
 Get all IEvent<TAuthenticationToken> instances for the given correlationId . More...
 
- Public Member Functions inherited from Cqrs.Events.EventStore< TAuthenticationToken >
virtual void Save< T > (IEvent< TAuthenticationToken > @event)
 Saves the provided event . More...
 
virtual void Save (Type aggregateRootType, IEvent< TAuthenticationToken > @event)
 Saves the provided event . More...
 
virtual IEnumerable< IEvent< TAuthenticationToken > > Get< T > (Guid aggregateId, bool useLastEventOnly=false, int fromVersion=-1)
 Gets a collection of IEvent<TAuthenticationToken> for the T aggregate root with the ID matching the provided aggregateId . More...
 
virtual IEnumerable< IEvent< TAuthenticationToken > > GetToVersion< T > (Guid aggregateId, int version)
 Gets a collection of IEvent<TAuthenticationToken> for the T aggregate root with the ID matching the provided aggregateId up to and including the provided version . More...
 
virtual IEnumerable< IEvent< TAuthenticationToken > > GetToDate< T > (Guid aggregateId, DateTime versionedDate)
 Gets a collection of IEvent<TAuthenticationToken> for the T aggregate root with the ID matching the provided aggregateId up to and including the provided versionedDate . More...
 
virtual IEnumerable< IEvent< TAuthenticationToken > > GetBetweenDates< T > (Guid aggregateId, DateTime fromVersionedDate, DateTime toVersionedDate)
 Gets a collection of IEvent<TAuthenticationToken> for the T aggregate root with the ID matching the provided aggregateId from and including the provided fromVersionedDate up to and including the provided toVersionedDate . More...
 

Protected Member Functions

override void PersistEvent (EventData eventData)
 Persist the provided eventData into storage. More...
 
virtual void RefreshSlidingExpirationValue ()
 Reads "Cqrs.EventStore.MemoryCacheEventStore.SlidingExpiration" from ConfigurationManager, checks if it has changed and then Update SlidingExpiration with the new value. More...
 
virtual void StartRefreshSlidingExpirationValue ()
 Start a Task that will call RefreshSlidingExpirationValue in a loop with a 1 second wait time between loops. More...
 
virtual CacheItemPolicy GetDetaultCacheItemPolicy ()
 Get's a CacheItemPolicy with the CacheItemPolicy.SlidingExpiration set to 15 minutes More...
 
- Protected Member Functions inherited from Cqrs.Events.EventStore< TAuthenticationToken >
 EventStore (IEventBuilder< TAuthenticationToken > eventBuilder, IEventDeserialiser< TAuthenticationToken > eventDeserialiser, ILogger logger)
 Instantiates a new instance of EventStore<TAuthenticationToken>. More...
 
virtual string GenerateStreamName (Type aggregateRootType, IEvent< TAuthenticationToken > @event)
 Generate a unique stream name based on the provided aggregateRootType and the IEvent<TAuthenticationToken>.Id from the provided event . More...
 
virtual string GenerateStreamName (Type aggregateRootType, Guid aggregateId)
 Generate a unique stream name based on the provided aggregateRootType and the aggregateId . More...
 

Properties

IConfigurationManager ConfigurationManager [get]
 Gets or sets the IConfigurationManager. More...
 
MemoryCache EventStoreByType [get]
 Gets or sets the MemoryCache of data grouped by event Type. More...
 
MemoryCache EventStoreByCorrelationId [get]
 Gets or sets the MemoryCache of data grouped by event IMessage.CorrelationId. More...
 
string SlidingExpirationValue [get, set]
 Gets of sets the SlidingExpirationValue, the value of "Cqrs.EventStore.MemoryCacheEventStore.SlidingExpiration" from ConfigurationManager. More...
 
TimeSpan SlidingExpiration [get, set]
 Gets of sets the SlidingExpiration More...
 
- Properties inherited from Cqrs.Events.EventStore< TAuthenticationToken >
IEventBuilder< TAuthenticationToken > EventBuilder [get, set]
 The IEventBuilder<TAuthenticationToken> used to build events. More...
 
IEventDeserialiser< TAuthenticationToken > EventDeserialiser [get, set]
 The IEventDeserialiser<TAuthenticationToken> used to deserialise events. More...
 
ITelemetryHelper TelemetryHelper [get, set]
 The ITelemetryHelper to use. More...
 
ILogger Logger [get]
 The ILogger to use. More...
 

Additional Inherited Members

- Static Protected Attributes inherited from Cqrs.Events.EventStore< TAuthenticationToken >
const string CqrsEventStoreStreamNamePattern = "{0}/{1}"
 The pattern used to generate the stream name. More...
 

Detailed Description

A, EventStore<TAuthenticationToken> that uses a MemoryCache implementation, flushing out data (I.E. it's not persisted)