title | layout |
---|---|
Message Sender |
api |
The purpose of the IMessageSender
is to abstract sending and publishing capabilities. The MessageSender
class provides the actual implementation and both the [ServiceBus] and [HandlerContext] classes hold a reference to a MessageSender
.
TransportMessage CreateTransportMessage(object message, Action<TransportMessageConfigurator> configure);
Returns a new instance of a [TransportMessage] using the [TransportMessageConfigurator] provided by the configure
action by invoking the TransportMessagePipeline
.
public void Dispatch(TransportMessage transportMessage);
This method invokes the DispatchTransportMessagePipeline
to have the given [TransportMessage] eventually enqueued on the target queue as specified by the RecipientInboxWorkQueueUri
of the [TransportMessage].
public TransportMessage Send(object message);
Creates and then dispatches a [TransportMessage] using the message routing as configured. The newly instantiated [TransportMessage] is returned.
public TransportMessage Send(object message, Action<TransportMessageConfigurator> configure)
Creates and then dispatches a [TransportMessage] using the [TransportMessageConfigurator] returned by the configure
action. The newly instantiated [TransportMessage] is returned.
public IEnumerable<TransportMessage> Publish(object message)
Creates and then dispatches a [TransportMessage] for each uri returned by the registered [ISubscriptionManager] instance. The newly instantiated [TransportMessage] collection returned with one message for each of relevant RecipientInboxWorkQueueUri
subscription Uris.
public IEnumerable<TransportMessage> Publish(object message, Action<TransportMessageConfigurator> configure)
Creates and then dispatches a [TransportMessage] for each uri returned by the registered [ISubscriptionManager] instance. There should be very few instances where this method will be required. The newly instantiated [TransportMessage] collection returned with one message for each of relevant RecipientInboxWorkQueueUri
subscription Uris.
[HandlerContext]: {{ site.baseurl }}/handler-context [ISubscriptionManager]: {{ site.baseurl }}/subscription-manager [ServiceBus]: {{ site.baseurl }}/service-bus [TransportMessage]: {{ site.baseurl }}/transport-message [TransportMessageConfigurator]: {{ site.baseurl }}/transport-message-configurator