CommunityToolkit.Aspire.EventStore 9.0.1-beta.107

Prefix Reserved
This is a prerelease version of CommunityToolkit.Aspire.EventStore.
There is a newer version of this package available.
See the version list below for details.
dotnet add package CommunityToolkit.Aspire.EventStore --version 9.0.1-beta.107                
NuGet\Install-Package CommunityToolkit.Aspire.EventStore -Version 9.0.1-beta.107                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CommunityToolkit.Aspire.EventStore" Version="9.0.1-beta.107" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CommunityToolkit.Aspire.EventStore --version 9.0.1-beta.107                
#r "nuget: CommunityToolkit.Aspire.EventStore, 9.0.1-beta.107"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CommunityToolkit.Aspire.EventStore as a Cake Addin
#addin nuget:?package=CommunityToolkit.Aspire.EventStore&version=9.0.1-beta.107&prerelease

// Install CommunityToolkit.Aspire.EventStore as a Cake Tool
#tool nuget:?package=CommunityToolkit.Aspire.EventStore&version=9.0.1-beta.107&prerelease                

CommunityToolkit.Aspire.EventStore

Registers an EventStoreClient in the DI container for connecting to an EventStore.

Getting started

Prerequisites

  • EventStore cluster.

Install the package

Install the .NET Aspire EventStore Client library with NuGet:

dotnet add package CommunityToolkit.Aspire.EventStore

Usage example

In the Program.cs file of your project, call the AddEventStoreClient extension method to register an EventStoreClient for use via the dependency injection container. The method takes a connection name parameter.

builder.AddEventStoreClient("eventstore");

Configuration

The .NET Aspire EventStore Client integration provides multiple options to configure the server connection based on the requirements and conventions of your project.

Use a connection string

When using a connection string from the ConnectionStrings configuration section, you can provide the name of the connection string when calling builder.AddEventStoreClient():

builder.AddEventStoreClient("eventstore");

And then the connection string will be retrieved from the ConnectionStrings configuration section:

{
    "ConnectionStrings": {
        "eventstore": "esdb://localhost:22113?tls=false"
    }
}

Use configuration providers

The .NET Aspire EventStore Client integration supports Microsoft.Extensions.Configuration. It loads the EventStoreSettings from configuration by using the Aspire:EventStore:Client key. Example appsettings.json that configures some of the options:

{
  "Aspire": {
    "EventStore": {
      "Client": {
        "ConnectionString": "esdb://localhost:22113?tls=false",
        "DisableHealthChecks": true
      }
    }
  }
}

Use inline delegates

Also you can pass the Action<EventStoreClientSettings> configureSettings delegate to set up some or all the options inline, for example to set the API key from code:

builder.AddEventStoreClient("eventstore", settings => settings.DisableHealthChecks = true);

AppHost extensions

In your AppHost project, install the CommunityToolkit.Aspire.Hosting.EventStore library with NuGet:

dotnet add package CommunityToolkit.Aspire.Hosting.EventStore

Then, in the Program.cs file of AppHost, register EventStore and consume the connection using the following methods:

var eventstore = builder.AddEventStore("eventstore");

var myService = builder.AddProject<Projects.MyService>()
                       .WithReference(eventstore);

The WithReference method configures a connection in the MyService project named eventstore. In the Program.cs file of MyService, the EventStore connection can be consumed using:

builder.AddEventStoreClient("eventstore");

Then, in your service, inject EventStoreClient and use it to interact with the EventStore API:

public class MyService(EventStoreClient eventStoreClient)
{
    // ...
}

Additional documentation

Feedback & contributing

https://github.com/CommunityToolkit/Aspire

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
9.2.2-beta.220 0 7 hours ago
9.2.2-beta.218 0 7 hours ago
9.2.2-beta.217 148 3 days ago
9.2.2-beta.216 153 3 days ago
9.2.2-beta.215 157 3 days ago
9.2.2-beta.214 145 4 days ago
9.2.2-beta.213 145 4 days ago
9.2.2-beta.212 151 4 days ago
9.2.2-beta.211 149 5 days ago
9.2.2-beta.210 152 6 days ago
9.2.2-beta.208 51 7 days ago
9.2.1 106 7 days ago
9.2.1-beta.207 74 7 days ago
9.2.1-beta.206 40 9 days ago
9.2.1-beta.205 45 11 days ago
9.2.1-beta.204 45 12 days ago
9.2.1-beta.203 43 12 days ago
9.2.0 111 12 days ago
9.2.0-beta.202 45 12 days ago
9.2.0-beta.201 44 12 days ago
9.2.0-beta.199 47 12 days ago
9.2.0-beta.198 38 12 days ago
9.1.1-beta.197 52 13 days ago
9.1.1-beta.196 54 13 days ago
9.1.1-beta.195 43 13 days ago
9.1.1-beta.194 46 13 days ago
9.1.1-beta.193 43 13 days ago
9.1.1-beta.192 48 13 days ago
9.1.1-beta.191 51 14 days ago
9.1.1-beta.190 52 18 days ago
9.1.1-beta.189 47 18 days ago
9.1.1-beta.188 53 18 days ago
9.1.1-beta.187 60 19 days ago
9.1.1-beta.183 56 20 days ago
9.1.1-beta.182 50 20 days ago
9.1.1-beta.181 64 20 days ago
9.1.1-beta.180 54 20 days ago
9.1.1-beta.178 56 21 days ago
9.1.1-beta.177 48 25 days ago
9.1.1-beta.176 62 a month ago
9.1.1-beta.175 48 a month ago
9.1.1-beta.173 55 a month ago
9.1.1-beta.169 52 a month ago
9.1.1-beta.168 46 a month ago
9.1.1-beta.166 48 a month ago
9.1.1-beta.165 43 a month ago
9.1.1-beta.164 54 a month ago
9.1.1-beta.162 50 a month ago
9.1.1-beta.155 47 a month ago
9.1.1-beta.154 43 a month ago
9.1.1-beta.153 39 a month ago
9.1.1-beta.152 38 a month ago
9.1.1-beta.150 41 a month ago
9.1.1-beta.148 46 a month ago
9.1.1-beta.147 45 a month ago
9.1.1-beta.146 49 a month ago
9.1.1-beta.145 41 2 months ago
9.1.1-beta.144 46 2 months ago
9.1.1-beta.142 41 2 months ago
9.1.1-beta.140 46 2 months ago
9.1.1-beta.139 44 2 months ago
9.1.1-beta.138 40 2 months ago
9.1.1-beta.137 40 2 months ago
9.1.1-beta.136 37 2 months ago
9.1.1-beta.135 17 2 months ago
9.1.1-beta.134 17 2 months ago
9.1.1-beta.128 32 2 months ago
9.1.1-beta.127 32 2 months ago
9.1.1-beta.126 37 2 months ago
9.1.1-beta.125 39 2 months ago
9.1.1-beta.124 38 2 months ago
9.1.0 205 3 months ago
9.1.0-beta.123 55 2 months ago
9.1.0-beta.122 54 2 months ago
9.1.0-beta.121 55 2 months ago
9.1.0-beta.120 47 2 months ago
9.1.0-beta.119 46 2 months ago
9.1.0-beta.118 48 2 months ago
9.1.0-beta.116 49 2 months ago
9.1.0-beta.114 44 2 months ago
9.1.0-beta.113 48 2 months ago
9.1.0-beta.112 55 3 months ago
9.1.0-beta.110 53 3 months ago
9.1.0-beta.109 54 3 months ago
9.0.1-beta.108 49 3 months ago
9.0.1-beta.107 52 3 months ago
9.0.1-beta.106 53 3 months ago
9.0.1-beta.104 54 3 months ago
9.0.1-beta.102 63 3 months ago
9.0.1-beta.99 54 3 months ago
9.0.1-beta.98 51 3 months ago
9.0.1-beta.95 52 3 months ago
9.0.1-beta.94 54 3 months ago