MessageQueue.EnableConnectionCache MessageQueue.EnableConnectionCache MessageQueue.EnableConnectionCache MessageQueue.EnableConnectionCache Property


Gets or sets a value that indicates whether a cache of connections will be maintained by the application.

 static property bool EnableConnectionCache { bool get(); void set(bool value); };
public static bool EnableConnectionCache { get; set; }
member this.EnableConnectionCache : bool with get, set
Public Shared Property EnableConnectionCache As Boolean

Property Value

true to create and use a connection cache; otherwise, false.


The following code example gets and sets the value of a message queue's EnableConnectionCache property.

// Set the MessageQueue.EnableConnectionCache property value.
MessageQueue.EnableConnectionCache = false;

// Display the new value of the MessageQueue.EnableConnectionCache
// property.
Console.WriteLine("MessageQueue.EnableConnectionCache: {0}",


A connection cache is a list of references to structures that contain read or write handles to queues. When EnableConnectionCache is true, the MessageQueue borrows handles from the cache each time you call Send(Object), Peek, or Receive, rather than open new handles. This can improve performance. Using a connection cache also insulates the MessageQueue from changes in the network topology.

If you create a new connection to a queue when the connection cache is full, the MessageQueue overwrites the least recently accessed structure with the new connection. You can clear the cache entirely by calling ClearConnectionCache, for example, if the format names of the queues you are working with have changed so that the previous read and write handles are no longer valid.

The following table shows whether this property is available in various Workgroup modes.

Workgroup mode Available
Local computer Yes
Local computer and direct format name Yes
Remote computer Yes
Remote computer and direct format name Yes

Applies to

See also