Поделиться через


Использование событий COM+ с компонентами в очереди COM+

Служба событий COM+ используется для управления доставкой событий от издателей подписчикам. Службу компонентов COM+ можно использовать для того, чтобы сделать издателя и подписчика время обработки независимой, задав сообщение издателя и последующее повторение его подписчику. Независимо от того, нужно ли использовать службу компонентов очереди, зависит от базовой бизнес-логики приложения. Если необходимо иметь события, независимые от времени, их можно создать с помощью службы событий COM+ с помощью службы компонентов COM+ в очереди.

Примечание.

Дополнительные сведения об использовании службы компонентов COM+ в очереди см. в разделе COM+ Queued Components.

 

Служба компонентов очереди поддерживает вызов порядку метода в одном сообщении. Средство записи пакетирует вызовы всех методов в сообщение, а затем проигрыватель вызывает эти методы, чтобы при обработке сообщения.

Записыватель компонентов очереди и проигрыватель можно разместить в любом из следующих двух мест:

  • Между издателем и объектом события
  • Между объектом события и подписчиком

Если вы позиционируете средство записи и проигрыватель между издателем и объектом события, вы делаете компонент класса событий в очереди. Компонент класса событий должен быть помечен для очереди и активироваться проигрывателем в процессе, отдельном от издателя.

Чтобы обеспечить асинхронную доставку событий, создайте запись и проигрыватель между объектом события и подписчиком и задайте атрибут Queued объекта подписки. Это задает подписчикаMoniker следующим образом: "queue:/new:/".{12345678-1234-1234-1234-123456789012}

Существует порядок доставки, который следует учитывать при использовании компонентов очереди в ситуации события. Так как записи службы очередных компонентов и воспроизводит все вызовы в течение всего времени существования одного объекта в одном сообщении, все вызовы повторяются в том порядке, в котором они были сделаны. Однако если существует несколько сеансов с несколькими объектами, порядок не может быть гарантирован. Если порядок важен, убедитесь, что вызовы, которые необходимо воспроизвести обратно, находятся в одном экземпляре объекта.

Фильтрация событий в COM+

Публикация и доставка событий в COM+

Подписки

Объект класса событий COM+