private static void Initialize() { // Nur einmal für die Webseiten dieser Web App Instanz einen FeedbackReceiver anlegen und ReceiveFeedbackAsync aufrufen (wird erkannt, wenn er noch null ist) if (feedbackReceiver == null) { // Start receiving feedbacks feedbackReceiver = serviceClient.GetFeedbackReceiver(); ReceiveFeedbackAsync(); } }
public async Task ListenForCloud2DeviceCommandFeedback() { FeedbackReceiver <FeedbackBatch> feedbackReceiver = _serviceClient.GetFeedbackReceiver(); FeedbackBatch feedbackBatch = await feedbackReceiver.ReceiveAsync(TimeSpan.FromSeconds(5)); if (feedbackBatch == null) { return; } OnCloud2DeviceCommandFeedback?.Invoke(this, new Cloud2DeviceCommandFeedbackEventArgs($"{String.Join("\n", feedbackBatch.Records.Select(item => item.StatusCode).ToArray())}")); await feedbackReceiver.CompleteAsync(feedbackBatch); }
public static async Task receiveMessageFeedback(int listenFor = 100) { FeedbackReceiver <FeedbackBatch> feedbackReceiver = serviceClient.GetFeedbackReceiver(); FeedbackBatch feedback = await feedbackReceiver.ReceiveAsync(TimeSpan.FromSeconds(listenFor)).ConfigureAwait(false); if (feedback != null) { Console.WriteLine( "IotHub has received a message {0}", string.Join(", ", feedback.Records) ); } else { Console.WriteLine("IotHub has not received any messages"); } }
public async Task ReceiveFeedback(CancellationToken cancellationToken) { feedbackReceiver = this.client.GetFeedbackReceiver(); while (!cancellationToken.IsCancellationRequested) { var feedbackBatch = await feedbackReceiver.ReceiveAsync(); if (feedbackBatch != null) { foreach (var record in feedbackBatch.Records) { Feedback.Enqueue(record); } await feedbackReceiver.CompleteAsync(feedbackBatch); } } }
private static async Task ReceiveFeedback(ServiceClient serviceClient) { FeedbackReceiver <FeedbackBatch> feedbackReceiver = serviceClient.GetFeedbackReceiver(); while (true) { FeedbackBatch feedbackBatch = await feedbackReceiver.ReceiveAsync(); if (feedbackBatch == null) { continue; } foreach (FeedbackRecord record in feedbackBatch.Records) { string messageId = record.OriginalMessageId; FeedbackStatusCode statusCode = record.StatusCode; Console.WriteLine($"Feedback for message '{messageId}', status code: {statusCode}"); } await feedbackReceiver.CompleteAsync(feedbackBatch); } }
void Awake() { feedbackReceiver = new FeedbackReceiver(this); }