Papst.EventStore.FileSystem
7.0.12
dotnet add package Papst.EventStore.FileSystem --version 7.0.12
NuGet\Install-Package Papst.EventStore.FileSystem -Version 7.0.12
<PackageReference Include="Papst.EventStore.FileSystem" Version="7.0.12" />
<PackageVersion Include="Papst.EventStore.FileSystem" Version="7.0.12" />
<PackageReference Include="Papst.EventStore.FileSystem" />
paket add Papst.EventStore.FileSystem --version 7.0.12
#r "nuget: Papst.EventStore.FileSystem, 7.0.12"
#:package Papst.EventStore.FileSystem@7.0.12
#addin nuget:?package=Papst.EventStore.FileSystem&version=7.0.12
#tool nuget:?package=Papst.EventStore.FileSystem&version=7.0.12
FileSystem Implementation for Papst.EventStore
File system based implementation of the Papst.EventStore. This implementation is intended for testing and demonstration purposes only - it is not recommended for production use.
Usage
High-Level Event Store (IEventStore)
IServiceCollection services = new ServiceCollection();
var config = new ConfigurationBuilder()
.AddInMemoryCollection(new Dictionary<string, string> { { "Path", "/path/to/events" } })
.Build();
services.AddFileSystemEventStore(config.GetSection("EventStore"));
var serviceProvider = services.BuildServiceProvider();
var eventStore = serviceProvider.GetRequiredService<IEventStore>();
Low-Level Event Store (ILowLevelEventStore)
For handling events as raw JSON objects without type information:
var lowLevelEventStore = serviceProvider.GetRequiredService<ILowLevelEventStore>();
var streamId = Guid.NewGuid();
var stream = await lowLevelEventStore.CreateAsync(streamId, "MyAggregate");
// Append a low-level event (as JObject)
var evt = JObject.Parse(@"{ ""fileData"": ""content"" }");
await stream.AppendAsync(Guid.NewGuid(), "FileCreated", evt);
Deleting an Event Stream
DeleteAsync recursively deletes the stream's directory (its index file and all event files) from disk:
await eventStore.DeleteAsync(streamId);
This is a permanent, hard delete of the on-disk files. If the stream directory does not exist, an EventStreamNotFoundException is thrown. The delete action is logged at Information level.
Configuration
The FileSystem implementation requires a configuration section with the path where events will be stored:
"EventStore": {
"Path": "/path/to/events/directory"
}
Events are stored as JSON files organized by stream ID in the configured directory.
Important Notes
- This implementation stores events on the local file system
- Not suitable for production use
- Best used for testing, prototyping, and demonstration purposes
- Events are stored as JSON files; concurrent access must be managed carefully
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.11)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Options (>= 10.0.11)
- Newtonsoft.Json (>= 13.0.4)
- Papst.EventStore (>= 7.0.3 && < 8.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 |
|---|---|---|
| 7.0.12 | 91 | 9/19/2026 |
| 7.0.4 | 113 | 8/18/2026 |
| 6.4.5 | 105 | 8/10/2026 |
| 6.3.3 | 115 | 8/2/2026 |
| 6.2.2 | 116 | 7/19/2026 |
| 6.1.2 | 128 | 5/16/2026 |
| 6.0.14 | 104 | 5/6/2026 |
| 6.0.11 | 116 | 5/2/2026 |
| 6.0.9 | 134 | 4/12/2026 |
| 6.0.4 | 123 | 4/11/2026 |
| 6.0.3 | 131 | 4/11/2026 |
| 5.4.9 | 144 | 2/13/2026 |
| 5.4.3 | 149 | 1/7/2026 |
| 5.3.6 | 150 | 1/2/2026 |
| 5.2.36 | 248 | 9/22/2025 |
| 5.2.32 | 228 | 6/3/2025 |
| 5.2.30 | 211 | 2/12/2025 |
| 5.2.28 | 186 | 2/9/2025 |
| 5.2.25 | 184 | 2/9/2025 |
| 5.2.23 | 203 | 2/9/2025 |