-
-
Notifications
You must be signed in to change notification settings - Fork 364
Return addresses
Mogens Heller Grabe edited this page Dec 14, 2016
·
2 revisions
In order to implement the request/reply pattern, a return address is needed. Therefore, Rebus will automatically set the input queue address of your endpoint (unless it is a one-way client) as the rbs2-return-address
header, allowing the recipient to go
await bus.Reply(someReply);
in a message handler, thus returning a reply back to the sender.
This mechanism can be used to cause the reply to be sent somewhere else too, since the rbs2-return-address
header will only be set if it is not already present. So if you go
var headers = new Dictionary<string, string> {
{ Headers.ReturnAddress, "anotherQueue@somewhereElse" }
};
await bus.Send(someRequest, headers);
the recipient will send its reply to anotherQueue@somewhereElse
.
Basic stuff
- Home
- Introduction
- Getting started
- Different bus modes
- How does rebus compare to other .net service buses?
- 3rd party extensions
- Rebus versions
Configuration
Scenarios
Areas
- Logging
- Routing
- Serialization
- Pub sub messaging
- Process managers
- Message context
- Data bus
- Correlation ids
- Container adapters
- Automatic retries and error handling
- Message dispatch
- Thread safety and instance policies
- Timeouts
- Timeout manager
- Transactions
- Delivery guarantees
- Idempotence
- Unit of work
- Workers and parallelism
- Wire level format of messages
- Handler pipeline
- Polymorphic message dispatch
- Persistence ignorance
- Saga parallelism
- Transport message forwarding
- Testing
- Outbox
- Startup/shutdown
Transports (not a full list)
Customization
- Extensibility
- Auto flowing user context extensibility example
- Back off strategy
- Message compression and encryption
- Fail fast on certain exception types
Pipelines
- Log message pipelines
- Incoming messages pipeline
- Incoming step context
- Outgoing messages pipeline
- Outgoing step context
Prominent application services