This repository contains the following behaviors:
- SendMessageRequestBehavior: used to send the MediatR request to the specified queue
- SendMessageResponseBehavior: used to send the MediatR response to the specified queue
- DeleteMessageRequestBehavior: used to delete the MediatR request from the specified queue
- DeleteMessageResponseBehavior: used to delete the MediatR response from the specified queue
- ReceiveMessageRequestBehavior: used to receive the MediatR request from the specified queue
- ReceiveMessageResponseBehavior: used to receive the MediatR response from the specified queue
This repository contains the following processors:
- SendMessageRequestProcessor: used to send the MediatR request to the specified queue
- SendMessageResponseProcessor: used to send the MediatR response to the specified queue
- DeleteMessageRequestProcessor: used to delete the MediatR request from the specified queue
- DeleteMessageResponseProcessor: used to delete the MediatR response from the specified queue
- ReceiveMessageRequestProcessor: used to receive the MediatR request from the specified queue
- ReceiveMessageResponseProcessor: used to receive the MediatR response from the specified queue
Queue extensions depend on queue commands, which represent the actual extension implementation:
- SendMessageCommand<TMessage>: used to send a message to the specified queue
- DeleteMessageCommand<TMessage>: used to delete a message from the specified queue
- ReceiveMessageCommand<TMessage>: used to receive a message from the specified queue
Queue extensions are controlled using QueueOptions<TMessage>.
The same option can have different requirements within the scope of different commands. Options requirements are as follows:
- Required: the value is required and an exception will be thrown if one is not supplied
- Default: the value is required and a default will be provided if one is not supplied
- Optional: the value is optional and will be used if one is supplied, ignored otherwise
- Ignored: the value is not used by the command and supplying one will have no effect
Options and their requirements are described in the following table:
Option | Description | Send | Delete | Receive |
---|---|---|---|---|
IsEnabled | true to enable execution of the extension, false to disable it |
Default 1 | Default 1 | Default 1 |
QueueClient | The queue client against which the operation is executed | Required | Required | Required |
QueueMessage | The System.BinaryData containing the content to upload | Default 2 | Ignored | Ignored |
Visibility | Specifies the visibility delay for the message | Optional | Ignored | Optional |
TimeToLive | Specifies the time-to-live interval for the message | Optional | Ignored | Ignored |
Received | The event that is raised after the message is received | Ignored | Ignored | Optional |
Delete | The event that identifies the message to be deleted | Ignored | Required 3 | Ignored |