RickDotNet.Apollo 0.5.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package RickDotNet.Apollo --version 0.5.6                
NuGet\Install-Package RickDotNet.Apollo -Version 0.5.6                
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="RickDotNet.Apollo" Version="0.5.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RickDotNet.Apollo --version 0.5.6                
#r "nuget: RickDotNet.Apollo, 0.5.6"                
#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 RickDotNet.Apollo as a Cake Addin
#addin nuget:?package=RickDotNet.Apollo&version=0.5.6

// Install RickDotNet.Apollo as a Cake Tool
#tool nuget:?package=RickDotNet.Apollo&version=0.5.6                

Apollo

Apollo aims to be a lightweight, high-performance messaging client designed to provide developers with a simple yet powerful way to incorporate flexible architectures into their .NET applications.

Documentation

Apollo is under rapid development. Please refer to the Apollo Docs for the most up-to-date information.

Example Usage

Hosted Example

builder.Services.AddApollo(ab => ab
            .CreateMissingResources()
            .WithDefaultNamespace("instance-1")
            .WithDefaultConsumerName("default-consumer")
            .AddEndpoint<HostEventsEndpoint>(HostEventsEndpointConfig.Default)
            .AddNatsProvider(opts => opts with
            {
                Url = "nats://localhost:4222",
                AuthOpts = new NatsAuthOpts
                {
                    Username = "username",
                    Password = "password"
                }
            })
        );

Direct Usage

var apolloConfig = new ApolloConfig { InstanceId = "my-instance", DefaultConsumerName = "my-consumer" };
var client = new ApolloClient(apolloConfig, endpointProvider: new EndpointProvider());

// configure and add an endpoint
var endpointConfig = new EndpointConfig
{
    Namespace = "dev.myapp",
    EndpointName = "My Endpoint"
};

var endpoint = client.AddEndpoint<TestEndpoint>(endpointConfig);
_ = endpoint.StartEndpoint(cancellationToken);

await Task.Delay(-1, cancellationToken);

// clean up
await endpoint.DisposeAsync();
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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on RickDotNet.Apollo:

Package Downloads
RickDotNet.Apollo.Providers.NATS

Distributed messaging library.

RickDotNet.Apollo.Extensions.Microsoft.Hosting

Distributed messaging library.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.6.2 83 11/17/2024
0.5.6 82 11/17/2024
0.5.5 93 11/14/2024
0.5.4-preview-1 84 11/13/2024
0.5.3 93 11/12/2024
0.5.2 100 11/2/2024
0.5.1 99 11/2/2024
0.5.0 122 10/15/2024
0.4.4 123 9/22/2024
0.4.3 165 9/16/2024
0.4.2 148 9/14/2024
0.4.1 185 9/10/2024