COM+ Events Limitation
COM+ Events is an outstanding service that saves you a lot of work—it provides an extensible, feature-rich service that allows you to focus on adding value to your product, not on event connectivity plumbing.
However, the event system has a few limitations, and this chapter would not be complete without pointing them out. Knowing about them allows you to make the best use of COM+ events:
As you have seen, COM+ events do not provide you with absolute location transparency. You have to jump through hoops to distribute your events across the enterprise.
Good support for a very large number of subscribers (more than a few hundred) is lacking. To publish an event, COM+ maintains a linked list of subscribers, and it scans it on every event—i.e., publishing overhead is linear to a number of subscribers. There is no way to perform a broadcast.
All parties involved (publisher, event class, and subscribers) have to run on a Windows 2000 machine. This is usually not a problem at the middle tier, but it does rule out most of the portable devices, such as laptops, PDAs, and cell phones.
COM+ has difficulty handling a very large amount of data as parameters for events. Avoid large strings and huge arrays.
COM+ events cannot handle a high rate of event publishing because it takes time to publish an event. If events are published faster than COM+ can handle them, you get memory bloating and COM+ will occasionally fail. On a stress test I conducted on COM+ events, I had three ...
Get COM & .NET Component Services now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.