This documentation is archived and is not being maintained.

MessageQueue.EncryptionRequired Property

Gets or sets a value that indicates whether the queue accepts only non-private (non-encrypted) messages.

Namespace: System.Messaging
Assembly: System.Messaging (in system.messaging.dll)

public EncryptionRequired EncryptionRequired { get; set; }
/** @property */
public EncryptionRequired get_EncryptionRequired ()

/** @property */
public void set_EncryptionRequired (EncryptionRequired value)

public function get EncryptionRequired () : EncryptionRequired

public function set EncryptionRequired (value : EncryptionRequired)

Property Value

One of the EncryptionRequired values. The default is None.

Exception typeCondition


An error occurred when accessing a Message Queuing method.

When you specify that encryption is required for the messages sent to a queue, only the message bodies are encrypted. The other members (for example, the Label and SenderId properties) cannot be encrypted.

Setting this property modifies the Message Queuing queue. Therefore, any other MessageQueue instances are affected by the change.

Encrypting a message makes the message private. You can specify the queue's encryption requirement to be None, Body, or Optional by setting the EncryptionRequired property appropriately. The UseEncryption setting of the message must correspond to the encryption requirement of the queue. If the message is not encrypted but the queue specifies Body, or if the message is encrypted but the queue specifies None, the message is rejected by the queue. If the sending application requests a negative acknowledgment message in this event, Message Queuing indicates the message's rejection to the sending application. If the UseDeadLetterQueue property is true, a message that fails encryption is sent to the dead-letter queue. Otherwise, the message is lost.

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

Workgroup mode


Local computer


Local computer and direct format name


Remote computer


Remote computer and direct format name


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

// Set the queue's EncryptionRequired property value.
queue.EncryptionRequired = System.Messaging.EncryptionRequired.Optional;

// Display the new value of the queue's EncryptionRequired property.
Console.WriteLine("MessageQueue.EncryptionRequired: {0}",

// Set the queue's EncryptionRequired property value.
// Display the new value of the queue's EncryptionRequired property.
Console.WriteLine("MessageQueue.EncryptionRequired: {0}", 

  • Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see .

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0