Interface IPublisher
Publishes messages via the message bus, forwarding them to the subscribers.
Namespace: Silverback.Messaging.Publishing
Assembly: Silverback.Core.dll
Syntax
public interface IPublisher
Properties
Context
Gets the ISilverbackContext in the current scope.
Declaration
ISilverbackContext Context { get; }
Property Value
| Type | Description |
|---|---|
| ISilverbackContext |
Methods
Publish(object, bool)
Publishes the specified message to its subscribers via the message bus and the method will not complete until all subscribers have processed it (unless using Silverback.Integration to produce and consume the message through a message broker).
Declaration
void Publish(object message, bool throwIfUnhandled = false)
Parameters
| Type | Name | Description |
|---|---|---|
| object | message | The message to be published. |
| bool | throwIfUnhandled | A boolean value indicating whether an exception must be thrown if no subscriber is handling the message. |
PublishAsync(object, bool, CancellationToken)
Publishes the specified message to its subscribers via the message bus and the Task will not complete until all subscribers have processed it (unless using Silverback.Integration to produce and consume the message through a message broker).
Declaration
Task PublishAsync(object message, bool throwIfUnhandled, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| object | message | The message to be published. |
| bool | throwIfUnhandled | A boolean value indicating whether an exception must be thrown if no subscriber is handling the message. |
| CancellationToken | cancellationToken | The CancellationToken that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| Task | A Task representing the asynchronous operation. |
PublishAsync(object, CancellationToken)
Publishes the specified message to its subscribers via the message bus and the Task will not complete until all subscribers have processed it (unless using Silverback.Integration to produce and consume the message through a message broker).
Declaration
Task PublishAsync(object message, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| object | message | The message to be published. |
| CancellationToken | cancellationToken | The CancellationToken that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| Task | A Task representing the asynchronous operation. |
PublishAsync<TResult>(object, bool, CancellationToken)
Publishes the specified message to its subscribers via the message bus and the Task will not complete until all subscribers have processed it (unless using Silverback.Integration to produce and consume the message through a message broker).
Declaration
Task<IReadOnlyCollection<TResult>> PublishAsync<TResult>(object message, bool throwIfUnhandled, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| object | message | The message to be published. |
| bool | throwIfUnhandled | A boolean value indicating whether an exception must be thrown if no subscriber is handling the message. |
| CancellationToken | cancellationToken | The CancellationToken that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| Task<IReadOnlyCollection<TResult>> | A Task<TResult> representing the asynchronous operation. The task result contains a
collection of |
Type Parameters
| Name | Description |
|---|---|
| TResult | The type of the result that is expected to be returned by the subscribers. |
PublishAsync<TResult>(object, CancellationToken)
Publishes the specified message to its subscribers via the message bus and the Task will not complete until all subscribers have processed it (unless using Silverback.Integration to produce and consume the message through a message broker).
Declaration
Task<IReadOnlyCollection<TResult>> PublishAsync<TResult>(object message, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| object | message | The message to be published. |
| CancellationToken | cancellationToken | The CancellationToken that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| Task<IReadOnlyCollection<TResult>> | A Task<TResult> representing the asynchronous operation. The task result contains a
collection of |
Type Parameters
| Name | Description |
|---|---|
| TResult | The type of the result that is expected to be returned by the subscribers. |
Publish<TResult>(object, bool)
Publishes the specified message to its subscribers via the message bus and the method will not complete until all subscribers have processed it (unless using Silverback.Integration to produce and consume the message through a message broker).
Declaration
IReadOnlyCollection<TResult> Publish<TResult>(object message, bool throwIfUnhandled = false)
Parameters
| Type | Name | Description |
|---|---|---|
| object | message | The message to be published. |
| bool | throwIfUnhandled | A boolean value indicating whether an exception must be thrown if no subscriber is handling the message. |
Returns
| Type | Description |
|---|---|
| IReadOnlyCollection<TResult> | A collection of |
Type Parameters
| Name | Description |
|---|---|
| TResult | The type of the result that is expected to be returned by the subscribers. |