Службы компонентов — вкладка «Транзакции» отсутствует. Как это показать?

Я пытаюсь изменить время ожидания DCOM для моего COM-компонента. Эта страница и практически все другие источники в Интернете говорят о вкладке «Транзакции» в службах компонентов, где я могу изменить время ожидания для своего конкретного компонента. Но в моей установке Win10 x64 эта вкладка не отображается; ниже показано, что я вижу для всех зарегистрированных компонентов.

Вопрос: Как сделать так, чтобы вкладка «Транзакции» отображалась?

Отсутствует вкладка


person adigostin    schedule 02.05.2016    source источник
comment
Хм, нет такого понятия, как тайм-аут DCOM. Тайм-ауты транзакций являются свойством COM+, компонент должен быть настроен для использования поддержки транзакций в первую очередь. Прочитайте это.   -  person Hans Passant    schedule 06.05.2016
comment
Я ищу конкретный метод настройки моего компонента для использования транзакций. Все, что я могу найти, это (1) истории о транзакциях и (2) пример кода, который работает на уже настроенных компонентах. Например, эти страницы: msdn. microsoft.com/en-us/library/windows/desktop/ и msdn.microsoft.com/en-us/library/windows/desktop/. (Или может я что-то упускаю?)   -  person adigostin    schedule 09.05.2016


Ответы (1)


Вероятно, вы пытаетесь настроить внепроцессный COM-сервер на основе EXE. Они не поддерживают расширенные службы COM+, такие как транзакции, поскольку они всегда работают как ненастроенные компоненты. Только внутрипроцессные серверы или серверы на основе DLL могут предоставлять службы COM+. Если вы хотите поддерживать транзакции, у вас есть два варианта:

  • Переключиться на сервер на основе DLL
  • Разрешите вашему EXE-серверу поддерживать транзакции через прокси-компонент
person Aurora    schedule 09.05.2016
comment
Фактически это удаленный COM-сервер. Моя основная проблема заключается в длительном тайм-ауте, когда я теряю Ethernet-соединение с удаленным компьютером; COM-вызовы вернутся примерно через одну минуту. Мне нужно, чтобы они возвращались быстрее. Мне кажется, что решением этой проблемы являются COM-вызовы на основе транзакций с тайм-аутом транзакции, настроенным мной на несколько секунд. (Я обновлю свой вопрос этой информацией.) - person adigostin; 10.05.2016
comment
Транзакции используются в сочетании с базами данных. Вы уверены, что это то, что вы ищете? Если вы заинтересованы в указании тайм-аута, определяемого пользователем для вашего DCOM-сервера, то кажется, что это невозможно. См. здесь или здесь для получения дополнительной информации. - person Aurora; 10.05.2016