Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Как правило, синхронизация не требуется, если у вас есть однопоточная квартира (STA), так как квартира обеспечивает синхронизацию. Синхронизация становится важной при наличии многопоточной модели (MTA) и свободнопоточного объекта. В прошлом свободнопотоковые объекты были вынуждены заниматься блокировкой. Вы можете исключить необходимость использования блокировки, задав атрибут синхронизации для компонента.
Синхронизация имеет следующие свойства:
- Позволяет одному вызывающему объекту входить в компонент одновременно.
- Запрещает обмен данными между процессами или между компьютерами.
- Потоки между компонентами в процессе.
- Разрешает повторный вход от того же вызывающего.
В отличие от аппартаментов, действия охватывают контексты из нескольких процессов и хостов. Синхронизация определяет, какое действие будет содержать объект. Объекты могут находиться в одной из следующих деятельностей:
- Действие создателя
- Новое действие
- Нет действий
COM+ обеспечивает одновременное выполнение с помощью ряда блокировок для каждого действия. Если пользователь пытается войти в синхронизированный компонент COM+, который уже используется другим пользователем, вызов блокируется до освобождения блокировки. Это поведение блокировки не предусматривает истечения времени ожидания и не может быть сконфигурировано для этого. Если замок не задействован, он захватывается, и вызов обрабатывается. После завершения замок разблокирован для следующего звонящего. Чтобы предотвратить взаимоблокировку, COM+ управляет доступом ко всем объектам между различными действиями с помощью вложенной серии вызовов, соединённых по всей сети.
COM+ предоставляет следующие параметры синхронизации:
- Нетрудоспособный
- Не поддерживается
- Поддержка
- Обязательно
- Требуется новый
Заметка
Некоторые параметры синхронизации работают вместе с другими параметрами компонентов COM+. Например, синхронизация требуется, если включена JIT-активация службы COM+. При включении транзакций требуется JIT; таким образом, обработка транзакций COM+ требует также синхронизации. Таким образом, классы с параметром JIT=True также должны иметь параметр Синхронизация=Обязательна или Синхронизация=ТребуетсяНовый.
Инструкции по настройке параметров синхронизации с помощью средства администрирования служб компонентов см. в настройке атрибута синхронизации.
Для получения более подробной информации об использовании библиотеки администрирования COM+ для настройки параметров синхронизации, см. раздел Автоматизация администрирования COM+.
Связанные разделы