使用示例代码推送通知时出现404错误

时间:2011-05-26 18:26:48

标签: windows-phone-7 push-notification mpns

我从应用中获取了我的网址。它始于:

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,将Payload变为空字节数组,并将“”字符串更改为Guid.NewGuid()。ToString()

我每次都得到404.

因为我没有通过浏览器获取404,所以内容必须重要,推送通知服务器依赖于内容,所以如果我通过删除通知消息并添加(因为它们)将其更改为简单的原始通知推荐):

        byte[] notificationMessage = new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
        sendNotificationRequest.Headers.Add("X-NotificationClass", "13"); 

我每次都会得到404。我尝试用相同的结果做吐司通知。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您获得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);

答案 1 :(得分:0)

在将toast通知绑定到shell之后,我最终得到了我的工作。我有一个方法可以做到,但在某些情况下并没有调用那个方法。