【发布时间】:2018-02-07 07:16:03
【问题描述】:
我正在使用 Azure NotificationHubClient (Microsoft.Azure.NotificationHubs 1.0.9) 在控制台 .NET 4.5 应用程序上调用 GetRegistrationsByTagAsync 方法,就像下面的代码一样(我需要获取所有带有标签“my_tag”的注册设备):
private async Task<List<RegistrationDescription>> GetAllRegisteredDevicesWithTagAsync()
{
var hubClient = NotificationHubClient.CreateClientFromConnectionString(HUB_CONNECTION_STRING, "my_hub");
var registrations = await hubClient.GetRegistrationsByTagAsync("my_tag", 100);
var continuationToken = registrations.ContinuationToken;
var allRegistrationDescriptions = new List<RegistrationDescription>(registrations);
while (!string.IsNullOrWhiteSpace(continuationToken))
{
var moreRegistrations = await hubClient.GetRegistrationsByTagAsync("my_tag", continuationToken, 100);
allRegistrationDescriptions.AddRange(moreRegistrations);
continuationToken = moreRegistrations.ContinuationToken;
}
return allRegistrationDescriptions;
}
allRegistrationDescriptions 中的结果限制为 500 条记录(5 页 = 5 个 ContinuationToken),我有超过 1000 个注册。我可能做错了什么,或者 GetRegistrationsByTagAsync 方法存在错误。你们中有人知道如何让这个工作吗?
更新:我尝试使用 VS 2017 而不是 API,但 VS 也无法获得注册(图片显示总共 2114 个注册)。
【问题讨论】:
-
我与 Microsoft 支持人员进行了交谈,他们在我的通知中心发现了无效安装。在他们删除这条记录后,我提到的代码开始工作,因为它导致了延续令牌的问题。
标签: azure azure-mobile-services azure-notificationhub