Здесь происходит нечто сверхъестественное.
Я только что добавил область транзакции вокруг некоторого устаревшего кода, который я отлаживал, чтобы гарантировать, что суета, которую я делал, не будет зафиксирована.
Это сработало дважды, затем сказал:
"The transaction manager has disabled its support for remote/network transactions."
без каких-либо изменений кода или перестройки между рабочим / нерабочим режимом (буквально 3 F5 подряд [веб-приложение]). Это был локальный код подключения к серверу удаления БД.
Поскольку время ожидания полностью отдельного кода в другом проекте истекло. Если я удаляю транзакцииScopes из этого кода, он работает нормально, но с их установкой время ожидания истекает. Я пробовал свой локальный SQL-сервер и удаленный, оба тайм-аута в Транзакции.
Что, черт возьми, происходит?
Редактировать: я обнаружил, что изменяя мои TransactionScopes с:
using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
до
using (var scope = new TransactionScope())
предотвращает проблему: s
Что это значит?