We left Russia. We are against aggression and war with Ukraine. It is a tragedy for our nations, it is a nightmare

TransactionScope blocking other requests from inserting job

We have a asp.net app using hangfire to wrap our email system. We have cases where we are enqueue inside a TransactionScope to send specific notifications as actions are being taken, but when the operation fails we need the emails to be not be sent. This currently works well, but a longer task recently uncovered that once a job is enqueued within a scope, no other jobs from other separate requests will be inserted and will all wait their respective “Enqueue” calls for the scoped request to complete before processing.

Is there some configuration available for this? Or just a limitation of hangfire? Are there any recommended approaches we can take to have the functionality to rollback jobs inside a scope but not block the entire site from enqueuing? I guess I just assumed this would function similar to how our orm also allows inserts to be queued up inside a transaction scope while still allowing other inserts to the same table via separate web requests.

Further clarification just in case it’s helpful. Our transaction scopes are all created with the default isolation level of ReadCommitted. And the blocked requests aren’t inside any transaction scope.