JKang.EventBus.AmazonSns 1.1.0

.NET Core ultra lightweight event bus implementation

Install-Package JKang.EventBus.AmazonSns -Version 1.1.0
dotnet add package JKang.EventBus.AmazonSns --version 1.1.0
<PackageReference Include="JKang.EventBus.AmazonSns" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add JKang.EventBus.AmazonSns --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

JKang.EventBus

.NET Core event bus implementation supporting:

  • In-memory event dispatching (publishing and subscription)
  • publishing event to Amazon SNS

NuGet packages

Quick start:

  1. Create a console application with the following NuGet packages installed:
>  Install-Package Microsoft.Extensions.DependencyInjection
>  Install-Package JKang.EventBus
  1. Create an event class
    public class MyEvent
    {
        public string Message { get; set; }
    }
  1. Optionally implement one or multiple handlers subscribing to the event
    class MyEventHandler : IEventHandler<MyEvent>
    {
        public Task HandleEventAsync(MyEvent @event)
        {
            Console.WriteLine($"Received message '{@event.Message}'");
            return Task.CompletedTask;
        }
    }
  1. Configure and register event bus using Dependency Injection
    static void Main(string[] args)
    {
        IServiceCollection services = new ServiceCollection();

        services.AddEventBus(builder =>
        {
            builder.AddInMemoryEventBus(subscriber =>
            {
                subscriber.Subscribe<MyEvent, MyEventHandler>();
                //subscriber.SubscribeAllHandledEvents<MyEventHandler>(); // other way
            });
        });
    }
  1. Publish an event
    IServiceProvider serviceProvider = services.BuildServiceProvider();
    using (IServiceScope scope = serviceProvider.CreateScope())
    {
        IEventPublisher eventPublisher = scope.ServiceProvider.GetRequiredService<IEventPublisher>();
        eventPublisher.PublishEventAsync(new MyEvent { Message = "Hello, event bus!" }).Wait();
    }

Publish event to Amazon Simple Notification Service (SNS)

  1. Install NuGet package JKang.EventBus.AmazonSns

  2. Configure publishing events to AWS SNS

        services.AddEventBus(builder =>
        {
            builder
                //.AddInMemoryEventBus() // uncomment to keep using in-memory event bus in the same time
				.PublishToAmazonSns(x => x.Region = "eu-west-3");
        });
  1. Optionally It's possible to customize AWS SNS topic name using annotation
    [AmazonSnsTopic("my-event")]
    public class MyEvent
    { }

Any contributions or comments are welcome!

JKang.EventBus

.NET Core event bus implementation supporting:

  • In-memory event dispatching (publishing and subscription)
  • publishing event to Amazon SNS

NuGet packages

Quick start:

  1. Create a console application with the following NuGet packages installed:
>  Install-Package Microsoft.Extensions.DependencyInjection
>  Install-Package JKang.EventBus
  1. Create an event class
    public class MyEvent
    {
        public string Message { get; set; }
    }
  1. Optionally implement one or multiple handlers subscribing to the event
    class MyEventHandler : IEventHandler<MyEvent>
    {
        public Task HandleEventAsync(MyEvent @event)
        {
            Console.WriteLine($"Received message '{@event.Message}'");
            return Task.CompletedTask;
        }
    }
  1. Configure and register event bus using Dependency Injection
    static void Main(string[] args)
    {
        IServiceCollection services = new ServiceCollection();

        services.AddEventBus(builder =>
        {
            builder.AddInMemoryEventBus(subscriber =>
            {
                subscriber.Subscribe<MyEvent, MyEventHandler>();
                //subscriber.SubscribeAllHandledEvents<MyEventHandler>(); // other way
            });
        });
    }
  1. Publish an event
    IServiceProvider serviceProvider = services.BuildServiceProvider();
    using (IServiceScope scope = serviceProvider.CreateScope())
    {
        IEventPublisher eventPublisher = scope.ServiceProvider.GetRequiredService<IEventPublisher>();
        eventPublisher.PublishEventAsync(new MyEvent { Message = "Hello, event bus!" }).Wait();
    }

Publish event to Amazon Simple Notification Service (SNS)

  1. Install NuGet package JKang.EventBus.AmazonSns

  2. Configure publishing events to AWS SNS

        services.AddEventBus(builder =>
        {
            builder
                //.AddInMemoryEventBus() // uncomment to keep using in-memory event bus in the same time
				.PublishToAmazonSns(x => x.Region = "eu-west-3");
        });
  1. Optionally It's possible to customize AWS SNS topic name using annotation
    [AmazonSnsTopic("my-event")]
    public class MyEvent
    { }

Any contributions or comments are welcome!

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.1.0 325 11/21/2018