Windows phone 7 404使用示例代码发送推送通知时出错
我从应用程序中获取了我的url。首先是:Windows phone 7 404使用示例代码发送推送通知时出错,windows-phone-7,push-notification,mpns,Windows Phone 7,Push Notification,Mpns,我从应用程序中获取了我的url。首先是: http://sn1.notify.live.net/throttledthirdparty/01.00/ 如果我使用浏览器导航到该URL,我会收到以下消息: Microsoft Push Notification Server 然后我抓取了微软提供的代码 http://msdn.microsoft.com/en-us/library/ff402545%28v=VS.92%29.aspx 如果我接受C#代码并按原样使用(仅更改URL,有效负载为空字
http://sn1.notify.live.net/throttledthirdparty/01.00/
如果我使用浏览器导航到该URL,我会收到以下消息:
Microsoft Push Notification Server
然后我抓取了微软提供的代码
http://msdn.microsoft.com/en-us/library/ff402545%28v=VS.92%29.aspx
如果我接受C#代码并按原样使用(仅更改URL,有效负载为空字节数组,并将“”字符串更改为Guid.NewGuid().ToString()
我每次都得到404
因为我没有通过浏览器获得404,所以内容一定很重要,推送通知服务器依赖于内容,因此如果我通过删除通知消息并添加(按照他们的建议)将其更改为简单的原始通知:
我仍然每次都会得到404。我试着用同样的结果做toast通知
我做错了什么?您收到404的原因是您发送的notificationMessage数据与预期不符。请尝试一下,看看是否有效 您可以在此处找到教程:
字符串模板=
"" +
"" +
"" +
"{0}" +
"{1}" +
"" +
"";
string toastXML=string.Format(模板,“测试”,“这是测试”);
byte[]notificationMessage=新的UTF8Encoding().GetBytes(toastXML);
在将toast通知绑定到shell后,我最终让自己的模板开始工作。我有一个方法可以做到这一点,但在某些情况下没有调用该方法。您在哪里找到该模板的?您使用单引号而不是双引号,并且标记没有大写,这与文档中所说的不同。我让它工作了k按照MSDN文档中的规定通过XML发送。可能两个版本(小写和大写)都有效。404不是由错误的XML直接导致的。如果发送错误的XML,您将得到一个提示成功的响应(200/Connected/Active/Received)。仅在稍后,当您向同一通道发送另一个通知时(对于有效或无效的XML),您可能会得到404。404是由通道不再有效引起的。通道不再有效的原因是之前发送的无效XML。
byte[] notificationMessage = new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
sendNotificationRequest.Headers.Add("X-NotificationClass", "13");
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);