Shuttle.Recall.Sql.EventProcessing
14.0.0
Prefix Reserved
See the version list below for details.
dotnet add package Shuttle.Recall.Sql.EventProcessing --version 14.0.0
NuGet\Install-Package Shuttle.Recall.Sql.EventProcessing -Version 14.0.0
<PackageReference Include="Shuttle.Recall.Sql.EventProcessing" Version="14.0.0" />
paket add Shuttle.Recall.Sql.EventProcessing --version 14.0.0
#r "nuget: Shuttle.Recall.Sql.EventProcessing, 14.0.0"
// Install Shuttle.Recall.Sql.EventProcessing as a Cake Addin #addin nuget:?package=Shuttle.Recall.Sql.EventProcessing&version=14.0.0 // Install Shuttle.Recall.Sql.EventProcessing as a Cake Tool #tool nuget:?package=Shuttle.Recall.Sql.EventProcessing&version=14.0.0
Sql Server
PM> Install-Package Shuttle.Recall.Sql.EventProcessing
A Sql Server implementation of the Shuttle.Recall
event sourcing mechanism.
Event Processing
// use any of the supported DI containers
var container = new NinjectComponentContainer(new StandardKernel());
// This registers the event store dependencies provided by Shuttle.Recall
// - also registers event handlers in referenced assemblies
container.RegisterEventStore();
// This registers the sql server implementations provided by Shuttle.Recall.Sql.Storage, for instance
container.RegisterEventStoreStorage();
// This registers the sql server implementations provided by Shuttle.Recall.Sql.EventProcessing, for instance
container.RegisterEventProcessing();
// The following is important to remember as it connects the event processing module to the pipeline factory
container.Resolve<EventProcessingModule>();
container.Register<IMyQueryFactory, MyQueryFactory>();
container.Register<IMyQuery, MyQuery>();
var processor = container.Resolve<IEventProcessor>();
using (container.Resolve<IDatabaseContextFactory>().Create("ProjectionConnectionName"))
{
// Adds the relevant projection to the processor which keeps track of the projection position
processor.AddProjection("ProjectionName");
// Attaches the given event handler implementation to the projection, by name
resolver.AddEventHandler<BowlingHandler>("ProjectionName");
// A short-hand format for the above is as follows:
// resolver.AddEventHandler<BowlingHandler>(processor.AddProjection("ProjectionName"));
}
processor.Start();
// wait for application run to complete
processor.Dispose();
Application Configuration File
<configuration>
<configSections>
<sectionGroup name="shuttle">
<section
name="projection"
type="Shuttle.Recall.Sql.EventProcessing.ProjectionSection, Shuttle.Recall.Sql.EventProcessing" />
</sectionGroup>
</configSections>
<shuttle>
<projection eventStoreConnectionStringName="EventStore" eventProjectionConnectionStringName="EventProjection" />
</shuttle>
<connectionStrings>
<clear />
<add
name="EventStore"
connectionString="Data Source=.;Initial Catalog=EventStoreDatabase;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
<add
name="EventProjection"
connectionString="Data Source=.;Initial Catalog=EventProjectionDatabase;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
The IDatabaseContextFactory
and IDatabaseGateway
implementation follow the structures as defined in the Shuttle.Core.Data package.
Registration / Activation
The required components may be registered by calling ComponentRegistryExtensions.RegisterEventProcessing(IComponentRegistry)
.
In order for the event processing module to attach to the IPipelineFactory
you would need to resolve it using IComponentResolver.Resolve<EventProcessingModule>()
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
- Shuttle.Core.Data (>= 12.0.2)
- Shuttle.Recall (>= 14.0.0)
- Shuttle.Recall.Sql.Storage (>= 14.0.0)
- System.Configuration.ConfigurationManager (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
18.0.0 | 84 | 8/5/2024 |
17.0.1 | 85 | 5/3/2024 |
17.0.0 | 114 | 4/30/2024 |
16.1.1 | 375 | 12/1/2022 |
16.0.1 | 426 | 9/18/2022 |
16.0.0 | 409 | 9/4/2022 |
14.0.0 | 457 | 5/29/2022 |
13.1.0 | 423 | 5/6/2022 |
13.0.2 | 472 | 4/9/2022 |
13.0.1 | 452 | 4/9/2022 |
13.0.0 | 437 | 3/21/2022 |
12.0.2 | 477 | 2/4/2021 |
12.0.1 | 485 | 11/8/2020 |
11.0.0 | 665 | 8/21/2019 |
10.2.0 | 603 | 5/27/2019 |
10.1.4 | 821 | 9/22/2018 |
10.1.3 | 830 | 9/16/2018 |
10.0.3 | 842 | 8/7/2018 |
10.0.2 | 923 | 7/8/2018 |
10.0.0 | 2,157 | 2/13/2018 |
8.0.12 | 907 | 10/14/2017 |
8.0.10 | 883 | 8/6/2017 |
8.0.9 | 929 | 7/2/2017 |
8.0.8 | 943 | 7/1/2017 |