This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
The Composite UI Application Block contains a set of interfaces and classes that comprise the event broker service. This service lets you implement loosely coupled communications between the components in your application. It is not designed for broadcasting or receiving events from outside of the application.
When adding a component to the container, the framework enters any events within the component that are marked as EventPublications , or methods that are marked as EventSubscriptions , into a catalog of events for that container. EventTopics collection holds a collection of EventTopic instances, each of which defines the topic between an event source and its subscribers.
The Fire method of the appropriate EventTopic executes when an event annotated with the EventPublicationAttribute occurs. It identifies the subscribers to the event and raises the appropriate subscription methods. Figure 1 shows details of the event broker system within the Composite UI Application Block framework. The system separates the design of the inspection strategy using reflection on items added to the container from the design of the EventTopics collection, because your own code might want to add, remove, or manage the topics, publications, and subscriptions programmatically.
Design of the State Persistence Service. Collapse the table of content. This documentation is archived and is not being maintained. Any code can register a subscriber by using the EventTopic class, and subscriber code could potentially be malicious code running at a lower trust level than the application code.
If your application accepts delegates from untrusted sources, you should make sure that you restrict the code access permissions available to delegate methods by using security permissions. Is this page helpful? We appreciate your feedback.More...