Just like COM applications, COM+ applications provide the means to react to events. In the world of COM, this technique is the request/reply system. COM+ uses the publish/subscribe system.
The two event-handling techniques share a few of the same concepts, but the implementation is essentially different. The problem with the request/reply system is that the client and server must know about each other-something that isn't always possible when you're working with distributed applications. In addition, when you're using the request/reply system, the client and server must exist at the same time-again, a limitation when working with distributed applications. When you're working with subscriptions, the server publishes an event and the client subscribes to it. In between these two elements is COM+, which handles the data transfer from client to server.
The following sections will help you better understand how subscriptions work with .NET components and clients . In general, you'll find that the common language runtime takes care of all the .NET to COM+ interactions for you as long as you provide the proper attributes and coding functionality in your application. We'll discuss both permanent and transient subscriptions in this chapter. You'll also learn about the techniques required to create a subscription manually (using the Component Services console) and automatically (using application code).