Im работает в проблемах с использованием MSDTC и Oracle. Его приложение .net и Im используют класс TransactionScope для управления транзакциями.
Проблема заключается в том, что иногда, если транзакция откатывается (scope.Dispose вызывается без вызова scope.Complete), он остается в состоянии "Прерывание" в течение длительного времени, не освобождая заблокированные записи. Несмотря на то, что транзакции остаются в состоянии "Прерывание", когда Dispose вызывается для отмены транзакции, он немедленно возвращается, поэтому поток не застревает.
Кто-нибудь знает, что может привести к тому, что транзакция будет вести себя так и сохранить блокировки после того, как был вызван прерывание?
Спасибо
Известные проблемы, связанные с использованием распределенных транзакций при использовании поставщика данных Microsoft для Oracle.
Если вы используете его, попробуйте перейти на поставщик ODP.NET, который должен исправить ваши проблемы с транзакциями.