Share via


BrokeredMessage.Complete Method

Definition

Completes the receive operation of a message and indicates that the message should be marked as processed and deleted.

public void Complete ();
member this.Complete : unit -> unit
Public Sub Complete ()

Exceptions

Thrown when the message is in disposed state or the receiver with which the message was received is in disposed state.

Thrown when invoked on a message that has not been received from the message server or invoked on a message that has not been received in peek-lock mode.

Thrown when the queue or subscription that receives the message is no longer present in the message server.

Thrown when the operation times out. The timeout period is initialized through the MessagingFactorySettings. You may need to increase the value of OperationTimeout to avoid this exception if the timeout value is relatively low.

Thrown if the lock on the message has expired. LockDuration is an entity-wide setting and can be initialized through LockDuration and LockDuration for queues and subscriptions respectively.

Thrown if the lock on the session has expired. The session lock duration is the same as the message LockDuration and is an entity-wide setting. It can be initialized through LockDuration and LockDuration for queues and subscriptions respectively.

When service bus service is busy and is unable process the request.

When messaging entity the message was received from has been deleted.

When the security token provided by the TokenProvider does not contain the claims to perform this operation.

When the number of concurrent connections to an entity exceed the maximum allowed value.

Remarks

This method is used as a handshake between the receiver and Service Bus for a guaranteed delivery of the message. If the receiver failed before calling this method, the message will be kept in the queue.

Applies to