MSDT C сервер недоступен - PullRequest
1 голос
/ 22 апреля 2020

В моем проекте три компонента в одной системе. Компонент X отвечает за связь между Y и Z. X общается с Y, используя TCP, и Z, используя WCF. Проект использует SQL в качестве базы данных. Взаимодействие при сохранении облегчается X, и данные должны go к компонентам Y и Z. Чтобы убедиться, что данные одинаковы для Y и Z, мы используем CommitableTransaction. Но мы видим, что «MSDT C на сервере« xxx »недоступен», когда X обращается к Y, и служба распределенных транзакций работает. Это происходит время от времени, и единственный способ заставить мое приложение работать - перезапустить компьютер ». Не транзакции вызовов между X и Y работает нормально. Нет никаких записей системного журнала, которые могли бы помочь выяснить, почему эта ошибка замечена. Подскажите пожалуйста что можно проверить. Брандмауэр (входящий \ исходящий), sql служба исправна.

Обновление 1: код выглядит примерно так (не могу предоставить рабочий код, поскольку его слишком много):

TransactionOptions options = new TransactionOptions();
options.IsolationLevel = IsolationLevel.Serializable;
options.Timeout = TimeSpan.FromSeconds(TransactionTimeout);
CommittableTransaction saveTransac = new CommittableTransaction(options);
YInterface.Save(dataToSave, saveTransac);
...