MsmqBindingBase.ExactlyOnce プロパティ


このバインディングによって処理されるメッセージが 1 回だけ受信されるものかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether messages processed by this binding are received exactly once.

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


このバインディングによって処理されるメッセージが 1 回だけ受信される場合は true。それ以外の場合は falsetrue if messages processed by this binding are received exactly once; otherwise, false. 既定値は、true です。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.

ExactlyOncetrue に設定して送信されるメッセージを、トランザクション キューだけに送信する必要があります。Messages sent with ExactlyOnce set to true must be sent to a transactional queue only.

ExactlyOnce は、true に設定されている場合、送信されたメッセージが受信メッセージ キューに 1 回だけ配信されることをメッセージ キュー (MSMQ) が保証することを示します。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.

ExactlyOncefalse に設定する必要があるメッセージの場合、DeadLetterQueue プロパティは既定で null になります。For messages that require ExactlyOnce to be false, the DeadLetterQueue property defaults to null.

ExactlyOncetrue に設定する必要があるメッセージの場合、DeadLetterQueue プロパティは、既定で MSMQ のトランザクション システム全体の配信不能キューになります。For messages that require ExactlyOnce to be true, the DeadLetterQueue property defaults to a transactional system-wide dead-letter queue in MSMQ.