Repository navigation
3.0.0
Breaking release; requires .NET 10. If you're on .NET 8, stay on 2.x, which keeps receiving fixes.
- Send, receive and process are separate. Inject
IQueueSender,IQueueReceiverorIStorageQueue. Named clients use[FromKeyedServices("name")]. - Hosted processor.
AddClient(...).AddProcessor<TMessage, THandler>()runs the receive loop for you: backoff, lease renewal while the handler runs, retries, a poison queue, cancellation and graceful shutdown. - Messages settle themselves. Call
CompleteAsync,AbandonAsync,RenewLockAsyncorDeadLetterAsyncon the message. A body that can't be read is returned withErrorset instead of failing the whole receive. - Per-client configuration. Each client can have its own serializer and processor, and
ValidateOnStart()fails startup if a client is misconfigured. - The 2.x client API is removed. See Upgrading from 2.x in the README.