Windows Dev Center

Enterprise Services and Message Queuing

.NET Framework enterprise services enable managed applications (containing serviced components) to communicate with and request COM+ system services, such as Just-In-Time (JIT) activation, object pooling, queued components, role-based security, synchronization, transactions, and shared property management. Because these services are based on DCOM, they can be transparently running on the local computer or a networked Windows server.

For the .NET Framework 2.0, there have been no substantial changes to the public object model of the System.EnterpriseServices namespace, only internal changes to the implementation to improve performance and fix errors. However, on a related note, the transaction support in the new System.Transactions namespace is interoperable with the COM+ transaction support in System.EnterpriseServices.

For more information about .NET Framework enterprise services, see Writing Serviced Components in the Windows SDK.

.NET Framework 2.0 introduces the following principal new features:

  • Efficient random message queue access — support for the Message Queuing 3.0 receive-side message property, LookupId, which supports fast lookups of messages that were previously peeked.

  • Improved message queue security — two new MessageQueue constructor overloads restrict the use of queues to send, peek, receive, and administration functions.

  • Access to local outgoing queues — if a queue is opened with administration rights, then the local outgoing message queues can be accessed and managed through members of the MessageQueue class, such as the Purge method.

  • Support of native cursors — compared to the use of the MessageEnumerator class, cursors are more efficient and can access messages asynchronously. The CreateCursor method of the MessageQueue class returns an instance of the Cursor class, which can then be used in calls to the Receive, Peek, BeginReceive, and BeginPeek methods.

  • Programmatic assignment of multicast addresses to message queues — the new MulticastAddress property of the MessageQueue class can be used to get or set a queue's multicast address.

  • Integrated support of transactions — The System.Transactions namespace transaction model is supported for queued messages. To participate in the current transaction, specify Automatic as the transactionType parameter to the Send or Receive methods of the MessageQueue class.

For more information about the .NET Framework support of Windows Message Queuing, see Using Messaging Components in the Windows SDK.


Only one new namespace has been added to the .NET Framework class library to support message queuing:




Contains classes that can be used to extend design-time support for System.Messaging classes.

The System.Messaging namespace, which contains classes that enable a managed application to connect to, monitor, and administer message queues on the network and send, receive, or peek messages, has the following new types:

Interface or Class



Used to maintain a specific location in a MessageQueue when reading the queue's messages.


Represents the security context for a message in a queue.

Community Additions

© 2015 Microsoft