如何处理 HTTP 412(前提条件失败)- 设备处于非活动状态
Posted
技术标签:
【中文标题】如何处理 HTTP 412(前提条件失败)- 设备处于非活动状态【英文标题】:What to do with HTTP 412 (Precondition Failed) - The device is in an inactive state 【发布时间】:2012-03-23 12:35:26 【问题描述】:每当我尝试向诺基亚 WP7 设备发送推送通知时,都会收到此错误消息。 其他推送 URI 不会返回此错误,但使用此错误,每次尝试都会失败,即使手机处于“唤醒”状态并打开 wi-fi。
查看 MSDN 文档,我想到了这个:
http://msdn.microsoft.com/en-us/library/ff941100(v=vs.92).aspx
设备处于非活动状态。收到此错误后,Web 服务可能会重新尝试最多每小时发送一次请求。如果 Web 服务违反了每小时重试次数的上限,推送通知服务将注销或永久阻止该 Web 服务。”
这并没有多大帮助,因为我所能做的就是遵守“1 小时后重试”并再次尝试发送。 我怀疑它可能与设备中从未有 SIM 卡有关,因此无法“激活”,但如果这是真的,为什么 MSPN 会返回应用程序的推送 URI?
提前致谢
【问题讨论】:
我之前遇到过这个问题,我认为可能是设备订阅了最大数量的端点,而您收到的链接可能不会发送,因为设备已经最大化了它的订阅。这是一个盲目的猜测,所以不要引用我的话,但我很确定这就是它的全部内容。 【参考方案1】:我注意到 Microsoft 经常为设备生成新的 ChannelUri(在过去 2 天中,我的 2 台设备有 5 个通道 uri)
可能是为设备生成了新的channeluri。
【讨论】:
以上是关于如何处理 HTTP 412(前提条件失败)- 设备处于非活动状态的主要内容,如果未能解决你的问题,请参考以下文章