Вероятно, что необходимо будет переименовать их в ответвлении. Можно ли объединить пересмотр, который переименовал их от соединительной линии для ветвления? Это могло бы сэкономить некоторое время. Иначе необходимо будет переименовать их в ответвлении. Тогда попробуйте слияние назад к соединительной линии.
Хм, похоже, это работает, когда я меняю TransactionScopeOption на «Подавить»:
using (TransactionScope transactionScope = new TransactionScope(TransactionScopeOption.Suppress))
{
...
}
Все знают, почему?
По умолчанию MSDTC отключил доступ к сети. Чтобы он заработал, зайдите в
Панель управления-> Администрирование. Инструменты-> Службы компонентов-> Компонент Сервисы-> Компьютеры-> Мой компьютер-> Право нажмите-> Свойства-> MSDTC-> Безопасность Настройте
и установите следующие флажки Доступ к сети DTC, Разрешить входящий, Разрешить исходящий. Аутентификацию следует выбирать в соответствии с вашей средой. Вы также можете ознакомиться с инструментом DTCPing для отладки распределенных транзакций. Чтобы дать вам ярлык - вам может потребоваться изменить реестр:
HKLM \ Software \ Policies \ Microsoft \ Windows NT \ RPCRestrictRemoteClients = 0 HKLM \ Software \ Policies \ Microsoft \ Windows NT \ RPCEnableAuthEpResolution = 1
, чтобы все было запущено и работало.
Это означает, что он подавляет любую транзакцию, которая может действовать в данный момент, когда вы вводите блок кода, поэтому любые обновления вашего кода не будут откатываться, если внешняя «внешняя» транзакция решит откатиться.
# undef CreateDirectory
-121--2334813-Сообщение LINQ к SQL Cheat Sheet в формате PDF, содержащее синтаксис C # и VB.NET.
-121--2410536-Это статья, которую мы использовали при решении нашей собственной, аналогичной проблемы:
Это в основном дополнение к Nikolay R ответ. Он уже осветил некоторые из предложений, перечисленных в статье.
Примечание: Статья является частью документации Biztalk, но она может применяться ко всему, что использует MSDTC.