DotNetBrightener.Plugins.EventPubSub 2024.0.9

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

// Install DotNetBrightener.Plugins.EventPubSub as a Cake Tool
#tool nuget:?package=DotNetBrightener.Plugins.EventPubSub&version=2024.0.9                

Event Publish/Subscribe Library

© DotNet Brightener

Usage

Event message

Event message is a message that would be emitted by the IEventPublisher. The IEventHandler for the message will be proceeded sequentially, and will be stopped if the higher-prioritized handler tells the next one to stop by returning false in its HandleEvent method.

public class YourEventMessage: IEventMessage 
{
	// your model goes here
}
Non-Stopped event message

Non-stopped event message is the type of IEventMessage that will be handled by all the handlers regardless the result from the process of each handler.

public class YourEventMessage: INonStoppedEventMessage 
{
	// your model goes here
}
Define event handler

Define an event handler to process the event emitted by the IEventPublisher service as follow:

public class YourEventModelEventHandler: IEventHandler<YourEventMessage>
{
	// the higher number will tell the publisher to execute before the others
	public int Priority { get; } => 10;

	public async Task<bool> HandleEvent(YourEventMessage eventMessage) 
	{
		// do something with your eventMessage

		// if YourEventModel implements INonStoppedEventMessage, 
		// regardless the next statement, 
		// the next handler will continue to process in parallel

		// if you want to let the next handler to process the message
		return true;

		// otherwise, return false here;
		// return false;
	}
}

Emit the event

Inject IEventPublisher to your controller / service class and use it as follow:


public class SomeService 
{
	private readonly IEventPublisher _eventPublisher;
	// other services

	public SomeService(IEventPublisher eventPublisher, 
						// other services
						)
	{
		_eventPublisher = eventPublisher;
	}

	public async Task SomeMethod() 
	{
		var eventMessage = new YourEventMessage
		{
			// the event content
		};

		// if you want to let the event message to be processed in the current thread
		await _eventPublisher.Publish(eventMessage);

		// if you want to let the event message to be processed in the another thread
		await _eventPublisher.Publish(eventMessage, true);
	}
}

Register at startup

You will need to install the package DotNetBrightener.Plugins.EventPubSub.DependencyInjection from nuget.org and follow instruction there.

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 was computed.  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 (14)

Showing the top 5 NuGet packages that depend on DotNetBrightener.Plugins.EventPubSub:

Package Downloads
DotNetBrightener.Core.BackgroundTasks

Package Description

DotNetBrightener.Plugins.EventPubSub.DependencyInjection

Package Description

DotNetBrightener.SimpleUploadService

A Simple Upload API for ASP.NET Core Applications

DotNetBrightener.WebApp.CommonShared

Package Description

DotNetBrightener.Infrastructure.ApiKeyAuthentication

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2025.0.2-preview-277 130 a month ago
2025.0.1-rc-243301701 274 2 months ago
2024.0.14.6 180 2 months ago
2024.0.14.6-rc-243031001 248 3 months ago
2024.0.14.6-rc-243030701 182 3 months ago
2024.0.14.6-rc-242840501 172 3 months ago
2024.0.14.6-rc-242820305 164 3 months ago
2024.0.14.6-rc-242771401 363 3 months ago
2024.0.14.6-rc-242770501 165 3 months ago
2024.0.14.6-rc-242770201 179 3 months ago
2024.0.14.6-rc-242761801 165 4 months ago
2024.0.14.6-rc-242761601 177 4 months ago
2024.0.14.6-rc-242761501 161 4 months ago
2024.0.14.6-rc-242761401 178 4 months ago
2024.0.14.6-rc-242760701 184 4 months ago
2024.0.14.6-rc-242751002 181 4 months ago
2024.0.14.6-rc-242750901 192 4 months ago
2024.0.14.6-rc-242750502 185 4 months ago
2024.0.14.6-rc-242750201 210 4 months ago
2024.0.14.6-rc-242741501 188 4 months ago
2024.0.14.6-rc-242730701 202 4 months ago
2024.0.14.6-preview-2730501 163 4 months ago
2024.0.14.6-preview-2701501 200 4 months ago
2024.0.14.6-preview-2620901 219 4 months ago
2024.0.14.6-preview-2570701 212 4 months ago
2024.0.14.6-preview-2510703 272 4 months ago
2024.0.14.6-preview-2480501 295 4 months ago
2024.0.14.6-preview-2430401 241 5 months ago
2024.0.14.6-preview-242730701 174 4 months ago
2024.0.14.6-preview-2421703 197 5 months ago
2024.0.14.6-preview-2421701 194 5 months ago
2024.0.14.6-preview-2420901 190 5 months ago
2024.0.14.6-preview-2390101 210 5 months ago
2024.0.14.6-preview-2381603 201 5 months ago
2024.0.14.6-preview-2341601 216 5 months ago
2024.0.14.6-preview-2321602 188 5 months ago
2024.0.14.6-preview-2190801 208 5 months ago
2024.0.14.6-preview-2041501 167 6 months ago
2024.0.14.6-preview-1920603 234 6 months ago
2024.0.14.6-preview-1920301 169 6 months ago
2024.0.14.6-preview-1911302 174 6 months ago
2024.0.14.6-preview-1901001 168 6 months ago
2024.0.14.6-preview-1900901 153 6 months ago
2024.0.14.6-preview-1900801 163 6 months ago
2024.0.14.6-preview-1860304 150 6 months ago
2024.0.14.5 265 7 months ago
2024.0.14.5-preview-1811601 190 7 months ago
2024.0.14.5-preview-1810501 197 7 months ago
2024.0.14.5-preview-180132 202 7 months ago
2024.0.14.5-preview-180131 179 7 months ago
2024.0.14.5-preview-180121 182 7 months ago
2024.0.14.4 240 7 months ago
2024.0.14.4-preview-7 195 7 months ago
2024.0.14.3 191 7 months ago
2024.0.14.1 195 7 months ago
2024.0.14.1-preview 173 7 months ago
2024.0.14-preview-1 170 7 months ago
2024.0.13.8-preview 196 7 months ago
2024.0.13.1-preview-0146 209 7 months ago
2024.0.12.15803-preview-03 177 7 months ago
2024.0.12.15608 193 7 months ago
2024.0.12.15515 269 7 months ago
2024.0.12.15220 188 8 months ago
2024.0.12.15220-alpha31-240... 165 8 months ago
2024.0.12.14911 230 8 months ago
2024.0.12.14910-alpha28-240... 195 8 months ago
2024.0.12.14823 209 8 months ago
2024.0.12.14522-alpha7-2405... 192 8 months ago
2024.0.12.14514-alpha6-2405... 200 8 months ago
2024.0.12.14511 213 8 months ago
2024.0.12.14314 254 8 months ago
2024.0.12.14114 299 8 months ago
2024.0.12.12815 304 8 months ago
2024.0.12.12814 264 8 months ago
2024.0.12.12721 278 8 months ago
2024.0.12.12702 266 8 months ago
2024.0.12.12622 270 8 months ago
2024.0.12.12514 251 8 months ago
2024.0.12.12512 259 8 months ago
2024.0.12.12510 254 8 months ago
2024.0.12.12420 238 8 months ago
2024.0.12.12319 199 9 months ago
2024.0.12.12319-rc-2405021801 188 9 months ago
2024.0.12.12318 195 9 months ago
2024.0.12.12215 249 9 months ago
2024.0.12.12011 216 9 months ago
2024.0.12.11720 231 9 months ago
2024.0.12.11719 225 9 months ago
2024.0.12.11621 263 9 months ago
2024.0.12.11523 243 9 months ago
2024.0.12.11522 236 9 months ago
2024.0.12.11417 241 9 months ago
2024.0.12.11400 232 9 months ago
2024.0.12.11316 227 9 months ago
2024.0.11.10220 209 9 months ago
2024.0.11.10120 199 9 months ago
2024.0.11.10119 176 9 months ago
2024.0.11.10115 187 9 months ago
2024.0.11.9914 214 9 months ago
2024.0.11.9901 208 9 months ago
2024.0.11.9823 205 9 months ago
2024.0.11.9401 205 10 months ago
2024.0.11.9301 214 10 months ago
2024.0.11.9206 192 10 months ago
2024.0.11.9205 191 10 months ago
2024.0.11.8200 225 10 months ago
2024.0.11.8122 185 10 months ago
2024.0.11.8120 197 10 months ago
2024.0.11.7320 255 3/13/2024
2024.0.11.7316 200 3/13/2024
2024.0.11.7310 203 3/13/2024
2024.0.11 203 3/13/2024
2024.0.10 230 3/3/2024
2024.0.9 213 2/27/2024
2024.0.8 260 2/1/2024
2024.0.7 206 1/26/2024
2024.0.6 198 1/25/2024
2024.0.5 193 1/24/2024
2024.0.4 196 1/24/2024
2024.0.3 205 1/22/2024
2024.0.2 251 1/10/2024
2024.0.1 206 1/9/2024
2024.0.1-alpha-3 187 1/9/2024
2024.0.1-alpha-2 204 1/9/2024
2024.0.1-alpha-1 218 1/3/2024
2024.0.0 244 12/26/2023
2023.0.27 302 12/21/2023
2023.0.26 258 12/21/2023
2023.0.25 314 12/11/2023
2023.0.24 301 12/8/2023
2023.0.23 277 12/6/2023
2023.0.21 347 12/4/2023
2023.0.20 341 11/27/2023
2023.0.19 273 11/20/2023
2023.0.18 302 10/25/2023
2023.0.17 348 10/22/2023
2023.0.16 329 10/16/2023
2023.0.16-alpha-1 215 10/16/2023
2023.0.15 278 10/14/2023
2023.0.14 262 10/14/2023
2023.0.13 255 10/14/2023
2023.0.12 266 10/14/2023
2023.0.11 257 10/10/2023
2023.0.10 273 10/9/2023
2023.0.9 408 8/16/2023
2023.0.8 322 8/15/2023
2023.0.8-alpha-2 394 5/31/2023
2023.0.7 338 5/12/2023
2023.0.6 375 5/10/2023
2023.0.5 342 5/7/2023
2023.0.4 375 4/22/2023
2023.0.3 417 4/19/2023
2023.0.2 408 4/6/2023
2023.0.1 416 3/13/2023
2022.11.0 447 11/21/2022
2022.10.2 351 11/21/2022
2022.10.0 1,718 10/15/2022
2022.9.0 523 9/5/2022
2021.10.1 505 10/17/2021
1.0.0 520 1/19/2021