问题描述
|
我从应用程序获取了网址。它始于:
http://sn1.notify.live.net/throttledthirdparty/01.00/
如果使用浏览器导航到该URL,则会收到以下消息:
Microsoft Push Notification Server
然后,我获取了Microsoft提供的代码。
http://msdn.microsoft.com/en-us/library/ff402545%28v=VS.92%29.aspx
如果我采用C#代码,并按原样使用它(仅更改URL,将有效负载更改为空字节数组,并将\“ \”字符串更改为Guid.NewGuid()。ToString()
我每次都得到404。
因为我没有从浏览器获得404,所以内容必须很重要,并且推送通知服务器依赖于内容,因此,如果我通过删除通知消息并添加(按照他们的建议)将其更改为简单的原始通知, :
byte[] notificationMessage = new byte[] {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};
sendNotificationRequest.Headers.Add(\"X-NotificationClass\",\"13\");
每次我仍然会得到404。我已经尝试过以相同的结果进行烤面包通知。
我究竟做错了什么?
解决方法
您收到404的原因是因为您发送的notificationMessage数据不是预期的。试试看,看看是否可行。
您可以在此处找到教程:
http://benjii.me/2011/04/push-notifications-in-windows-phone-7-3-push-that-notification/
string template =
\"<?xml version=\'1.0\' encoding=\'utf-8\'?>\" +
\"<wp:notification xmlns:wp=\'WPNotification\'>\" +
\"<wp:toast>\" +
\"<wp:text1>{0}</wp:text1>\" +
\"<wp:text2>{1}</wp:text2>\" +
\"</wp:toast>\" +
\"</wp:notification>\";
string toastXML = string.Format(template,\"Testing\",\"This is a test\");
byte[] notificationMessage = new UTF8Encoding().GetBytes(toastXML);
,在将烤面包通知绑定到外壳之后,我最终让我的工作了。我有一个做到这一点的方法,但在某些情况下没有调用该方法。