你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

DeviceClient.ReceiveAsync 方法

定义

重载

ReceiveAsync(CancellationToken)

使用取消令牌从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message, CancellationToken)AbandonAsync(Message, CancellationToken)RejectAsync(Message, CancellationToken),然后释放该消息。

ReceiveAsync(TimeSpan)

使用超时从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message, CancellationToken)AbandonAsync(Message, CancellationToken)RejectAsync(Message, CancellationToken),然后释放该消息。

ReceiveAsync()

使用默认超时从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message)AbandonAsync(Message)RejectAsync(Message),然后释放该消息。

ReceiveAsync(CancellationToken)

使用取消令牌从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message, CancellationToken)AbandonAsync(Message, CancellationToken)RejectAsync(Message, CancellationToken),然后释放该消息。

public System.Threading.Tasks.Task<Microsoft.Azure.Devices.Client.Message> ReceiveAsync (System.Threading.CancellationToken cancellationToken);
member this.ReceiveAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.Client.Message>
Public Function ReceiveAsync (cancellationToken As CancellationToken) As Task(Of Message)

参数

cancellationToken
CancellationToken

用于取消操作的取消标记。

返回

收到的消息;如果取消令牌过期之前没有消息,则为 null

例外

取消操作时引发。

取消操作时引发。 内部异常将为 OperationCanceledException

注解

不能通过 MQTT 协议拒绝或放弃消息。 如需了解详情,请访问 https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messages-c2d#the-cloud-to-device-message-life-cycle

适用于

ReceiveAsync(TimeSpan)

使用超时从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message, CancellationToken)AbandonAsync(Message, CancellationToken)RejectAsync(Message, CancellationToken),然后释放该消息。

public System.Threading.Tasks.Task<Microsoft.Azure.Devices.Client.Message> ReceiveAsync (TimeSpan timeout);
member this.ReceiveAsync : TimeSpan -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.Client.Message>
Public Function ReceiveAsync (timeout As TimeSpan) As Task(Of Message)

参数

timeout
TimeSpan

返回

收到的消息;如果没有消息,则为 null,直到指定的时间已过。

注解

不能通过 MQTT 协议拒绝或放弃消息。 如需了解详情,请访问 https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messages-c2d#the-cloud-to-device-message-life-cycle

适用于

ReceiveAsync()

使用默认超时从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message)AbandonAsync(Message)RejectAsync(Message),然后释放该消息。

public System.Threading.Tasks.Task<Microsoft.Azure.Devices.Client.Message> ReceiveAsync ();
member this.ReceiveAsync : unit -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.Client.Message>
Public Function ReceiveAsync () As Task(Of Message)

返回

接收消息;如果在默认超时之前没有消息,则为 null

注解

https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messages-c2d#the-cloud-to-device-message-life-cycle.

适用于