This documentation is archived and is not being maintained.

MsmqBindingBase.ExactlyOnce Property

Gets or sets a value that indicates whether messages processed by this binding are received exactly once.

Namespace:  System.ServiceModel
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public bool ExactlyOnce { get; set; }

Property Value

Type: System.Boolean
true if messages processed by this binding are received exactly once; otherwise, false. The default is true.

A message can be sent with or without assurances. An assurance enables an application to ensure that a sent message reached the receiving message queue, or if it did not, the application can determine this by reading the dead-letter queue.

Messages sent with ExactlyOnce set to true must be sent to a transactional queue only.

ExactlyOnce, when set to true, indicates that Message Queuing (MSMQ) ensures that a sent message is delivered to the receiving message queue once and only once. If delivery fails, the message is sent to the dead-letter queue.

For messages that require ExactlyOnce to be false, the DeadLetterQueue property defaults to null.

For messages that require ExactlyOnce to be true, the DeadLetterQueue property defaults to a transactional system-wide dead-letter queue in MSMQ.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

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

.NET Framework

Supported in: 3.5, 3.0
Show: