我有下面的代碼片段處理Azure的通知中心推送通知:調試Task.WhenAny和推送通知
var alert = "{\"aps\":{\"alert\":\"" + message + "\"}}";
var task = AzurePushNotifications.Instance.Hub.SendAppleNativeNotificationAsync(alert, username);
if (await Task.WhenAny(task, Task.Delay(500)) == task)
{
success = true;
}
偶爾,這將失敗 - 我想弄清楚,爲什麼?
與Task.WhenAny
一起運行的東西時獲取某些診斷信息的最佳方式是什麼?
我想知道是否拋出異常,或者如果超時已被擊中。
這是什麼意思_fails_?如果超時,您只能通知500毫秒,這可能需要增加。如果你「等待」通知任務,它會引發異常?如果是這樣,請發佈這些細節。 – JSteward
你爲什麼不直接等待任務; task.Wait();然後看TaskResult task.TaskResult? –
@JSteward有時我會得到'success = false'。這要麼是因爲它沒有在500毫秒內完成,要麼是因爲引發了異常。我想知道其中哪一個正在發生。如果這是一個例外,我想知道什麼是例外。如果它需要> 500ms,我希望它失敗,但我想知道這就是它失敗的原因。如果沒有這些超時,推送通知有時會從字面上永遠消失。 – user666