Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我使用PHP服务时,Windows Phone 7推送通知不会显示在我的手机上_Php_Silverlight_Windows Phone 7_Push Notification_Mpns - Fatal编程技术网

当我使用PHP服务时,Windows Phone 7推送通知不会显示在我的手机上

当我使用PHP服务时,Windows Phone 7推送通知不会显示在我的手机上,php,silverlight,windows-phone-7,push-notification,mpns,Php,Silverlight,Windows Phone 7,Push Notification,Mpns,我的php服务有一些问题。我使用php向MS通知服务发送Tile更新和Toast更新请求。在响应第一个请求后,我有以下标题: 网址: 答复: HTTP/1.1200正常 缓存控制:专用 服务器:Microsoft IIS/7.5 X设备连接状态:已连接 X-通知状态:已收到 X-订阅状态:活动 X-MessageID:da8aa692-e9cd-682b-fe1c-22ffe7379414 活动ID:cd9c8b0b-26db-4eac-835d-9f9505d7a381 X服务器:DB3MPN

我的php服务有一些问题。我使用php向MS通知服务发送Tile更新和Toast更新请求。在响应第一个请求后,我有以下标题:

网址:

答复:

HTTP/1.1200正常
缓存控制:专用
服务器:Microsoft IIS/7.5
X设备连接状态:已连接
X-通知状态:已收到
X-订阅状态:活动
X-MessageID:da8aa692-e9cd-682b-fe1c-22ffe7379414
活动ID:cd9c8b0b-26db-4eac-835d-9f9505d7a381
X服务器:DB3MPNSM016
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
日期:2011年7月20日星期三11:21:42 GMT
内容长度:0
阵列([X-SubscriptionStatus]=>Active[X-NotificationStatus]=>Received[X-DeviceConnectionStatus]=>Connected)
但在我的WP7应用程序中,我什么都没有。当我再次尝试更新互动程序时:

网址:

答复:

未找到HTTP/1.1 404 缓存控制:专用 内容类型:text/html 服务器:Microsoft IIS/7.5 X设备连接状态:已断开 X-通知状态:已删除 X订阅状态:已过期 X-MessageID:{B6AAC154-DA37-277F-14FE-9F76365ACDD1} 活动ID:f6b6a06b-a836-449c-9c9b-dc3033850981 X服务器:DB3MPNSM033 X-AspNet-Version:4.0.30319 X-Powered-By:ASP.NET 日期:2011年7月20日星期三格林威治标准时间11:29:34 内容长度:1245 似乎在第一次请求之后,我的url被删除了

我在WP7应用程序中没有任何问题,因为当我使用WindowsService时,一切都正常


我的问题似乎类似于问题[question]:

仔细检查XML。我对unclosed标记有着完全相同的行为。

在花了一些时间试图修复一个没有错误的XML(由于答案表明404错误代码是由无效的XML引起的)之后,我觉得有必要分享我的发现

第一次在通知中发送无效XML不会立即在响应中识别(即,响应将为200/已接收/活动/已连接,即使通知不会到达设备)

但是,下次尝试向该通道发送通知时(无论它是否具有有效的XML),您将发现该通道不再有效(即,响应将为404)

由于先前发送的无效消息,通道无效

这意味着,如果您遇到此错误,您必须首先获得一个新的通知通道(通过启动您的应用程序,该应用程序应启动MPN服务订阅)


只有这样,您才应该验证XML的正确性,并尝试将通知发送到新通道。这一次,您将再次获得200状态,知道XML是否有效的唯一方法是检查通知是否到达设备。

这里有相同的问题,除了我使用示例(ASPX表单)中的代码发送推送之外。第一次,工作,并看到更新的瓷砖在手机上。然后我尝试了我的php版本,但没有成功,回到了ASPX,404失败了。