Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
COM+ 1.5 представляет возможность использования служб COM+ без компонентов. Это значительно снижает затраты на производительность при использовании служб COM+ из среды, которая не использует компоненты, а также устраняет сложность использования этих служб. Начиная с IIS 6.0, IIS и ASP используют преимущества использования служб COM+ без компонентов.
Службы COM+ изначально предназначены для использования с компонентами COM+. Однако некоторые среды программирования не основаны на компонентах и поэтому требуют значительных затрат на использование служб COM+. Например, до выпуска COM+ 1.5, для использования транзакционных служб COM+ на страницах ASP, IIS приходилось создавать промежуточные объекты. Затраты на производительность, поступающие от создания этих объектов, включают хранение данных конфигурации как в метабазе IIS, так и в базе данных регистрации COM+ (RegDB), а также дополнительную связь между метабазой IIS и COM+ RegDB, необходимой для эффективного управления данными конфигурации.
Если службе IIS нужно было использовать вторую службу COM+, например синхронизацию, она должна была создать другой объект шима для этого. Чтобы использовать как транзакции COM+, так и синхронизацию, потребуется третий тип объекта shim. Сложность этого подхода масштабируется как O(n2), что делает реализацию новых служб чрезвычайно сложной.
При внедрении служб COM+ без компонентов необходимые службы настраиваются с помощью объекта, созданного из класса. Класс CServiceConfig реализует интерфейсы, необходимые для настройки различных служб, обеспечивая гибкость поддержки нескольких служб одновременно и возможность поддерживать новые службы в будущем.
Затем настроенные службы можно использовать с помощью двух различных механизмов: их можно использовать с помощью функции CoCreateActivity, которая применяет службы ко всем работам, отправленным с помощью действия, созданного функцией, и их также можно использовать, внедряя работу, которая использует службы между вызовами вызовов CoEnterServiceDomain и CoLeaveServiceDomain. Ни одна из этих функций не требует создания новых компонентов, чтобы иметь возможность использовать службы COM+; требуется только объект CServiceConfig.
Связанные разделы