我正在尝试在注册后更新Azure Notification Hub 中的安装标记。我正在遵循几个指南,特别是here和here。
这两个指南都表明以下代码应该可行,但显然不是这样;标签永远不会更新。没有错误,我可以保证installationId是正确的。我猜我正在错误地设置标签的路径/值。
.text()
这是安装对象的标签,根据VS:
我也尝试过硬编码// in constructor:
var _notificationHub = NotificationHubClient.CreateClientFromConnectionString(Settings.ConnectionStrings.NotificationHub, Settings.Defaults.NotificationHubName);
// in WebApi endpoint:
var installationUpdates = new List<PartialUpdateOperation>();
var userDetail = _userDetailRepo.Get(id);
installationUpdates.Add(new PartialUpdateOperation
{
Operation = UpdateOperationType.Replace,
Path = "/tags/interestedin", // is this incorrect?
Value = interestedIn.ToUpper()
});
userDetail.InterestedIn = interestedIn;
await Task.WhenAll(
_userDetailRepo.InsertOrReplace(userDetail),
_notificationHub.PatchInstallationAsync(installationId, installationUpdates));
的路径,但没有区别。
有人可以告诉我,如果我在这里做错了,如果是的话,我应该如何修改我的代码。感谢。
答案 0 :(得分:3)
不幸的是, Path =“/ tags / interestedin”目前无效。我们目前正致力于通配符的支持。一旦完成,像“/ tags / interestedin *”这样的东西将适合你。
虽然 Path =“/ tags / interestin:W”应该没问题。如果您可以提供命名空间名称,集线器名称和时间范围,那么我将查看日志以检查那里发生了什么。