Namespace MassTransit
Classes
- Base64MessageBody
Converts a binary-only message body to Base64 so that it can be used with non-binary message transports. Only the GetString() method performs the conversion, GetBytes() and GetStream() are pass-through methods.
- BatchOptions
Batch options are applied to a Batch<T> consumer to configure the size and time limits for each batch.
- BusInstance<TBus>
When configuring multiple bus instances in a single container (MultiBus), this base class should be used as a the base for the additional bus instance type.
- ConfigureConsumeTopologyAttribute
Specify whether the message type should be used to configure the broker topology for the consumer. if configured. Types will this attribute will not have their matching topic/exchange bound to the receive endpoint queue.
- ConsumerDefinition<TConsumer>
A consumer definition defines the configuration for a consumer, which can be used by the automatic registration code to configure the consumer on a receive endpoint.
- EntityNameAttribute
Specify the EntityName used for this message contract if configured.
- ExcludeFromImplementedTypesAttribute
Typically added to base messages types, such as IMessage, IEvent, etc. so that scoped filters are not created on the message type.
- ExcludeFromTopologyAttribute
When added to a message type (class, record, or interface), prevents MassTransit from creating an exchange or topic on the broker for the message type when it is an inherited type (such as IMessage, IEvent, etc.).
- FaultEntityNameAttribute
Specify the EntityName used for the Fault version of this message contract, overriding the configured IEntityNameFormatter if configured.
- FutureDefinition<TFuture>
A future definition defines the configuration for a future, which can be used by the automatic registration code to configure the consumer on a receive endpoint.
- InVar
Variables, which can be used for message initialization
- IndexedAttribute
Specifies a property that should be indexed by the in-memory saga repository
- MassTransitHostOptions
If present in the container, these options will be used by the MassTransit hosted service.
- MessageUrnEntityNameFormatter
This is the simplest thing, it uses the built-in URN for a message type as the entity name, which can include illegal characters for most message brokers. It's nice for in-memory though, which doesn't give a hoot about the string.
- ResponseEndpointDefinition
Specifies a temporary endpoint, with the prefix "response"
- SagaDefinition<TSaga>
A saga definition defines the configuration for a saga, which can be used by the automatic registration code to configure the consumer on a receive endpoint.
- TemporaryEndpointDefinition
Specifies a temporary endpoint, with the prefix "response"
Structs
- NewId
A NewId is a type that fits into the same space as a Guid/Uuid/unique identifier, but is guaranteed to be both unique and ordered, assuming it is generated using a single instance of the generator for each network address used.
- RequestTimeout
A timeout, which can be a default (none) or a valid TimeSpan > 0, includes factory methods to make it "cute"
- Response<T1, T2>
The response for a request that accepts two response types, which can be matched easily or converted back into a tuple of tasks.
- Response<T1, T2, T3>
The response for a request that accepts two response types, which can be matched easily or converted back into a tuple of tasks.
- SendTuple<T>
Combines a message and a pipe which can be used to send/publish the message
Interfaces
- Batch<T>
A batch of messages which are delivered to a consumer all at once
- BehaviorContext<TSaga>
A behavior context is an event context delivered to a behavior, including the state instance
- BehaviorContext<TSaga, TMessage>
A behavior context include an event context, along with the behavior for a state instance.
- BehaviorExceptionContext<TSaga, TException>
An exceptional behavior context
- BehaviorExceptionContext<TSaga, TMessage, TException>
An exceptional behavior context
- BindContext<TLeft, TRight>
The binding of a value to the context, which is a fancy form of Tuple
- BusHandle
Returned once a bus has been started. Should call Stop or Dispose before the process can exit.
- ClientFactoryContext
The client factory context, which contains multiple interfaces and properties used by clients
- ConnectHandle
A connect handle is returned by a non-asynchronous resource that supports disconnection (such as removing an observer, etc.)
- ConsumerConsumeContext<TConsumer, TMessage>
A consumer and consume context mixed together, carrying both a consumer and the message consume context.
- CorrelatedBy<TKey>
Used to identify a message as correlated so that the CorrelationId can be returned
- ExceptionInfo
An exception information that is serializable
- ExecuteActivityContext<TActivity, TArguments>
An activity and execution context combined into a single container from the factory
- Fault
Published (or sent, if part of a request/response conversation) when a fault occurs during message processing
- Fault<T>
A faulted message, published when a message consumer fails to process the message
- Headers
Headers are values outside of a message body transferred with the message.
- HostInfo
The host where an event or otherwise was produced a routing slip
- HostReceiveEndpointHandle
Returned when a receive endpoint is connected
- IActivity
Marker interface used to assist identification in IoC containers. Not to be used directly as it does not contain the message type of the consumer
- IActivityFactory
Should be implemented by containers that support generic object resolution in order to provide a common lifetime management policy for all activities
- IActivity<TArguments, TLog>
An Activity implements the execute and compensate methods for an activity
- IAgent
An agent can be supervised, and signals when it has completed
- IAgent<TContext>
An agent that is also a pipe context source, of the specified context type
- IBatchConfigurator<TMessage>
Batching is an experimental feature, and may be changed at any time in the future.
- IBehavior<TInstance>
A behavior is a chain of activities invoked by a state
- IBehavior<TSaga, TMessage>
A behavior is a chain of activities invoked by a state
- IBus
A bus is a logical element that includes a local endpoint and zero or more receive endpoints
- IBusObserver
Used to observe events produced by the bus
- IClientFactory
The client factory is used to create request clients
- ICompensateActivity
Marker interface used to assist identification in IoC containers. Not to be used directly as it does not contain the message type of the consumer
- ICompensateActivityConfigurator<TActivity, TLog>
Configure the execution of the activity and arguments with some tasty middleware.
- ICompensateActivityLogConfigurator<TLog>
Configure the execution of the activity and arguments with some tasty middleware.
- ICompensateLogConfigurator<TLog>
Configure the execution of the activity and arguments with some tasty middleware.
- IConfigureReceiveEndpoint
Implement this interface, and register the implementation in the container as the interface type to apply configuration to all configured receive endpoints
- IConsumeConfigurator
The base configuration interface for a consumer, handler, or instance that can consume messages.
- IConsumeMessageObserverConnector
Supports connection of a message observer to the pipeline
- IConsumeMessageObserver<T>
Intercepts the ConsumeContext
- IConsumeObserver
Intercepts the ConsumeContext
- IConsumeObserverConnector
Supports connection of a consume observer
- IConsumer
Marker interface used to assist identification in IoC containers. Not to be used directly as it does not contain the message type of the consumer
- IConsumerFactory<TConsumer>
Maps an instance of a consumer to one or more Consume methods for the specified message type The whole purpose for this interface is to allow the creator of the consumer to manage the lifecycle of the consumer, along with anything else that needs to be managed by the factory, container, etc.
- IConsumer<TMessage>
Defines a class that is a consumer of a message. The message is wrapped in an IConsumeContext interface to allow access to details surrounding the inbound message, including headers.
- IEndpointDefinition
Defines an endpoint in a transport-independent way
- IEntityNameFormatter
Used to build entity names for the publish topology
- IExceptionFilter
Filter exceptions for policies that act based on an exception
- IExecuteActivity
Marker interface used to assist identification in IoC containers. Not to be used directly as it does not contain the message type of the consumer
- IExecuteActivityArgumentsConfigurator<TArguments>
Configure the execution of the activity and arguments with some tasty middleware.
- IExecuteActivityConfigurator<TActivity, TArguments>
Configure the execution of the activity and arguments with some tasty middleware.
- IExecuteActivityFactory<TActivity, TArguments>
A factory that creates an execute activity and then invokes the pipe for the activity context
- IExecuteArgumentsConfigurator<TArguments>
Configure the execution of the activity and arguments with some tasty middleware.
- IFilter<TContext>
A filter is a functional node in a pipeline, connected by pipes to other filters.
- IHandlerConfigurator<TMessage>
Configure a message handler, including specifying filters that are executed around the handler itself
- IJobConsumer<TJob>
Defines a message consumer which runs a job asynchronously, without waiting, which is monitored by Conductor services, to monitor the job, limit concurrency, etc.
- IMessageConsumeTopologyConfigurator<TMessage>
Configures the Consuming of a message type, allowing filters to be applied on Consume.
- IMessageConsumeTopology<TMessage>
The message-specific Consume topology, which may be configured or otherwise setup for use with the Consume specification.
- IMessageDataRepository
Storage of large message data that can be stored and retrieved separate of the message body. Implemented as a claim-check pattern when an identifier is stored in the message body which is used to retrieve the message data separately.
- IMessageEntityNameFormatter<TMessage>
Used to build entity names for the publish topology
- IMessageFilterConfigurator
Configures a message filter, for including and excluding message types
- IMessagePublishTopologyConfigurator<TMessage>
Configures the Publishing of a message type, allowing filters to be applied on Publish.
- IMessagePublishTopology<TMessage>
The message-specific publish topology, which may be configured or otherwise setup for use with the publish specification.
- IMessageScheduler
A message scheduler is able to schedule a message for delivery.
- IMessageSendTopologyConfigurator<TMessage>
Configures the sending of a message type, allowing filters to be applied on send.
- IMessageSendTopology<TMessage>
The message-specific send topology, which may be configured or otherwise setup for use with the send specification.
- IMessageSerializer
A message serializer is responsible for serializing a message. Shocking, I know.
- IObserverConfigurator<TMessage>
Configure a message handler, including specifying filters that are executed around the handler itself
- IPipeConfigurator<TContext>
Configures a pipe with specifications
- IPipeContextSource<TContext>
A source provides the context which is sent to the specified pipe.
- IPipeContextSource<TContext, TInput>
A source which provides the context using the input context to select the appropriate source.
- IProbeSite
To support the introspection of code, this interface is used to gain information about the bus.
- IPublishEndpoint
A publish endpoint lets the underlying transport determine the actual endpoint to which the message is sent. For example, an exchange on RabbitMQ and a topic on Azure Service bus.
- IPublishObserver
Observes messages as they are published via a publish endpoint. These should not be used to intercept or filter messages, in that case a filter should be created and registered on the transport.
- IPublishObserverConnector
Connect an observer that is notified when a message is sent to an endpoint
- IReceiveEndpoint
A service endpoint has an inbound transport that pushes messages to consumers
- IReceiveEndpointConfigurator
Configure a receiving endpoint
- IReceiveEndpointObserver
Used to observe the events signaled by a receive endpoint
- IReceiveEndpointSpecification
Specification for configuring a receive endpoint
- IReceiveObserver
An observer that can monitor a receive endpoint to track message consumption at the endpoint level.
- IReceiveTransportObserver
Used to observe the events signaled by a receive endpoint
- IRecurringMessageScheduler
A message scheduler is able to schedule a message for delivery.
- IRequestClient<TRequest>
A request client, which is used to send a request, as well as get one or more response types from that request.
- IRequestPipeConnector
Connect a request pipe to the pipeline
- IRetryPolicy
A retry policy determines how exceptions are handled, and whether or not the remaining filters should be retried
- IRoutingSlipConfigurator
Configure a message handler, including specifying filters that are executed around the handler itself
- ISaga
Interface that specifies a class is usable as a saga instance, including the ability to get and set the CorrelationId on the saga instance.
- ISagaFactory<TSaga, TMessage>
Creates a saga instance when an existing saga instance is missing
- ISagaQueryFactory<TSaga, TMessage>
Used to create a saga query from the message consume context
- ISagaQuery<TSaga>
A saga query is used when a LINQ expression is accepted to query the saga repository storage to get zero or more saga instances
- ISagaRepository<TSaga>
A saga repository is used by the service bus to dispatch messages to sagas
- ISagaVersion
For saga repositories that use an incrementing version
- ISendEndpointProvider
The Send Endpoint Provider is used to retrieve endpoints using addresses. The interface is available both at the bus and within the context of most message receive handlers, including the consume context, saga context, consumer context, etc. The most local provider should be used to ensure message continuity is maintained.
- ISendObserver
Observes messages as they are sent to transports. These should not be used to intercept or filter messages, in that case a filter should be created and registered on the transport.
- ISendObserverConnector
Connect an observer that is notified when a message is sent to an endpoint
- ISpecification
A specification, that can be validated as part of a configurator, is used to allow nesting and chaining of specifications while ensuring that all aspects of the configuration are verified correct.
- IStateMachineActivity<TSaga>
An activity is part of a behavior that is executed in order
- IStateMachineActivity<TSaga, TMessage>
An activity is part of a behavior that is executed in order
- ISupervisor
A supervisor with a set of agents (a supervisor is also an agent)
- ISupervisor<TContext>
A supervisor that is also a IPipeContextSource<TContext>
- IVisitable
Used to visit the state machine structure, so it can be displayed, etc.
- InitiatedByOrOrchestrates<TMessage>
Specifies that a class implementing ISaga consumes TMessage as part of the saga
- InitiatedBy<TMessage>
Specifies that the message type TMessage starts a new saga.
- MessageContext
The message context includes the headers that are transferred with the message
- MessageData<T>
MessageData is used when a property size may be larger than what should be sent via the message transport. This would includes attachments such as images, documents, videos, etc. Using MessageData, it is possible to include large properties without sending them in the actual message. The claim check pattern is the common reference.
- MessageRedeliveryContext
Used to reschedule delivery of the current message
- Orchestrates<TMessage>
Specifies that a class implementing ISaga consumes TMessage as part of the saga
- PipeContext
The base context for all pipe types, includes the payload side-banding of data with the payload, as well as the cancellationToken to avoid passing it everywhere
- ProbeContext
Passed to a probe site to inspect it for interesting things
- ReceiveContext
The receive context is sent from the transport when a message is ready to be processed from the transport.
- ReceiveEndpointHandle
A handle to an active endpoint
- ReceiveFault
Published when a message fails to deserialize at the endpoint
- RequestHandle<TRequest>
A request handle manages the client-side request, and allows the request to be configured, response types added, etc. The handle should be disposed once it is no longer in-use, and the request has been completed (successfully, or otherwise).
- RequestSettings
The request settings include the address of the request handler, as well as the timeout to use for requests.
- Request<TSaga, TRequest, TResponse>
A request is a state-machine based request configuration that includes the events and states related to the execution of a request.
- Request<TSaga, TRequest, TResponse, TResponse2>
A request is a state-machine based request configuration that includes the events and states related to the execution of a request.
- Request<TSaga, TRequest, TResponse, TResponse2, TResponse3>
A request is a state-machine based request configuration that includes the events and states related to the execution of a request.
- Response
The base response type, which can be used to pattern match, via deconstruct, to the accepted response types.
- Response<TResponse>
The response for a request with a single response type, or a request with multiple response types that has been matched to a specific type.
- RetryContext
The base context of a retry
- RetryContext<TContext>
The retry context, with the specified context type
- RetryPolicyContext<TContext>
An initial context acquired to begin a retry filter
- SagaConsumeContext<TSaga>
Consume context including the saga instance consuming the message. Note this does not expose the message type, for filters that do not care about message type.
- SagaConsumeContext<TSaga, TMessage>
Consume context including the saga instance consuming the message
- SagaStateMachineInstance
An Automatonymous state machine instance that is usable as a saga by MassTransit must implement this interface. It indicates to the framework the available features of the state as being a state machine instance.
- ScheduleSettings<TInstance, TMessage>
The schedule settings, including the default delay for the message
- Schedule<TSaga>
Holds the state of a scheduled message
- Schedule<TSaga, TMessage>
Holds the state of a scheduled message
- SendContext
Unlike the old world, the send context is returned from the endpoint and used to configure the message sending. That way the message is captured by the endpoint and then any configuration is done at the higher level.
- SendContext<T>
The SendContext is used to tweak the send to the endpoint
- StateMachine
A state machine definition
- StateMachine<TSaga>
A defined state machine that operations against the specified instance
- State<TSaga>
A state within a state machine that can be targeted with events
- StopContext
The context associated with stopping an agent
- TransformContext
Context used by a message transform
- TransformContext<TMessage>
A message transform for a single message type
- UnhandledEventContext<TSaga>
The context of an unhandled event in the state machine
- ValidationResult
Reports information about the configuration before configuring so that corrections can be made without allocating resources, etc.
- Visitable
Used to visit the state machine structure, so it can be displayed, etc.
Enums
- BatchCompletionMode
The reason this batch was made ready for consumption
- RedeliveryOptions
Customize the redelivery experience
Delegates
- AsyncEventExceptionMessageFactory<TSaga, TException, T>
Returns a message from an event exception
- AsyncEventExceptionMessageFactory<TSaga, TMessage, TException, T>
Returns a message from an event exception
- DestinationAddressProvider<TSaga>
Returns the address for the message provided
- DestinationAddressProvider<TSaga, TMessage>
Returns the address for the message provided
- EventExceptionMessageFactory<TSaga, TException, TMessage>
Returns a message from an event exception
- EventExceptionMessageFactory<TSaga, TMessage, TException, T>
Returns a message from an event exception
- MessageHandler<TMessage>
A message handler is a delegate type that asynchronously consumes the message
- SagaFactoryMethod<TSaga, TMessage>
Used to create the saga instance
- ServiceAddressExceptionProvider<TSaga, TException>
Provides an address for the request service
- ServiceAddressExceptionProvider<TSaga, TMessage, TException>
Provides an address for the request service
- ServiceAddressProvider<TSaga>
Provides an address for the request service
- ServiceAddressProvider<TSaga, TMessage>
Provides an address for the request service
- StateMachineAsyncCondition<TSaga>
Filters activities based on the async conditional statement
- StateMachineAsyncCondition<TSaga, TMessage>
Filters activities based on the async conditional statement
- StateMachineAsyncExceptionCondition<TSaga, TException>
Filters activities based on the conditional statement
- StateMachineAsyncExceptionCondition<TSaga, TMessage, TException>
Filters activities based on the conditional statement
- StateMachineCondition<TSaga>
Filters activities based on the conditional statement
- StateMachineCondition<TSaga, TMessage>
Filters activities based on the conditional statement
- StateMachineExceptionCondition<TSaga, TException>
Filters activities based on the conditional statement
- StateMachineExceptionCondition<TSaga, TMessage, TException>
Filters activities based on the conditional statement
- UnhandledEventCallback<TSaga>
Callback for an unhandled event in the state machine
- UpdatePayloadFactory<TPayload>
Update an existing payload, using the existing payload