2016-05-02 8 views
2

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

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

Transactions tab missing

+0

Хм, нет такая вещь, как «тайм-аут DCOM». Тайм-ауты транзакций являются свойством COM +, компонент должен быть настроен для использования поддержки транзакций в первую очередь. [Читать] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). –

+0

Я ищу конкретный метод настройки моего компонента для использования транзакций. Все, что я могу найти, это (1) рассказы о транзакциях и (2) пример кода, который работает на уже настроенных компонентах. Эти страницы, например: https://msdn.microsoft.com/en-us/library/windows/desktop/ms687663(v=vs.85).aspx и https://msdn.microsoft.com/en-us/ библиотека/окна/настольные/ms684367 (v = vs.85) .aspx. (Или, может быть, я что-то упустил?) – adigostin

+0

Страница MSDN [находится здесь] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms685959%28v=vs.85%29.aspx). То, что вы на самом деле хотите, все еще очень трудно увидеть. –

ответ

1

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

  • Переключитесь на сервере DLL на основе
  • Разрешить ваш EXE-сервер для поддержки транзакций через прокси-компонент
+0

Это действительно удаленный COM-сервер. Моя «корневая» проблема - это длительный тайм-аут, когда я теряю связь Ethernet с удаленным компьютером; COM-вызовы вернутся через минуту. Мне нужно, чтобы они вернулись быстрее. Решением этого я считаю транзакционные COM-вызовы с тайм-аутом транзакции, настроенным мной на несколько секунд. (Я обновляю свой вопрос с этой информацией.) – adigostin

+0

Сделки используются в сочетании с базами данных. Вы уверены, что это то, что вы ищете? Если вы заинтересованы в определении тайм-аута, определенного пользователем для вашего DCOM-сервера, то кажется, что это невозможно. См. [Здесь] (https://stackoverflow.com/questions/2328551/what-determines-how-long-does-an-out-of-process-com-server-takes-to-notice-that) или [здесь ] (http://blog.matrikonopc.com/index.php/ask-the-experts-opc-questions-and-answers/8-what-is-the-minute-dcom-timeout/) для получения дополнительной информации. – Aurora

 Смежные вопросы

  • Нет связанных вопросов^_^