C# 每次生成新通道URI时,PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync都会生成

C# 每次生成新通道URI时,PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync都会生成,c#,push-notification,windows-runtime,windows-10,uwp,C#,Push Notification,Windows Runtime,Windows 10,Uwp,每次我调用PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync()以获取我的推送通道a新的Uri是否正确?我的意思是该频道的过期时间大约为1个月,但是如果它没有过期,为什么会生成一个新的呢?我每次都需要将URI发送到需要更新数据库的推送服务器。对于100个用户来说,这可能还可以,但我们有超过2mio的用户 不应经常更改,但如果再次请求,可能会在到期时间之前更改。您如何拨打多个电话? 如果我把

每次我调用
PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync()
以获取我的推送通道a新的
Uri
是否正确?我的意思是该频道的过期时间大约为1个月,但是如果它没有过期,为什么会生成一个新的呢?我每次都需要将URI发送到需要更新数据库的推送服务器。对于100个用户来说,这可能还可以,但我们有超过2mio的用户

不应经常更改,但如果再次请求,可能会在到期时间之前更改。您如何拨打多个电话?
如果我把它放在一个应用程序中,两次都会得到相同的结果

var uri = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
System.Diagnostics.Debug.WriteLine(uri.Uri);

var uri2 = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
System.Diagnostics.Debug.WriteLine(uri2.Uri);

如果您在重新启动应用程序后,在开发过程中拨打电话进行测试,并且您在两次启动之间进行重建,这可能是原因,因为重建可能会更改应用程序的标识,因此会被视为通知系统的不同客户端。

嗨,Matt,事实上,我多次启动应用程序都没有重建它,但附带了调试器。但是,系统更改是否可能导致应用程序获得新身份?例如,我拥有%PROGRAMFILES%\WindowsAppsHello的所有权,Matt。也许您知道在发布新版本的应用程序时,调用CreatePushNotificationChannelForApplicationSync时如何避免重复?