Show / Hide Table of Contents

    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 TResult, since multiple subscribers could handle the message and return a value.

    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 TResult, since multiple subscribers could handle the message and return a value.

    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 TResult, since multiple subscribers could handle the message and return a value.

    Type Parameters
    Name Description
    TResult

    The type of the result that is expected to be returned by the subscribers.

    GitHub E-Mail
    ↑ Back to top © 2026 Sergio Aquilini