0

プッシュ通知(トースト型)を送信するためのhttpmessageを構築しようとしていますが、以下のコードのメソッドを認識しません。このコードはクラス ライブラリにあります。

sendNotificationRequest.Headers.Add("X-NotificationClass", "2"); にメソッドを追加します。

sendNotificationRequest.ContentLength のコンテンツの長さ = notificationMessage.Length;

ストリームの GetRequestStream requestStream = sendNotificationRequest.GetRequestStream()

HttpWebResponse の GetResponse 応答 = (HttpWebResponse)sendNotificationRequest.GetResponse();

        HttpWebRequest sendNotificationRequest = (HttpWebRequest)WebRequest.Create(channel.ChannelUri.ToString());
        sendNotificationRequest.Method = "POST";
        //Indicate that you'll send toast notifications!
        sendNotificationRequest.ContentType = "text/xml";
        sendNotificationRequest.Headers = new WebHeaderCollection();
        sendNotificationRequest.Headers.Add("X-NotificationClass", "2");
        if (string.IsNullOrEmpty(txtMessage.Text)) return;

        //Create xml envelope
        string data = "X-WindowsPhone-Target: toast\r\n\r\n" +
                "<?xml version='1.0' encoding='utf-8'?>" +
                "<wp:Notification xmlns:wp='WPNotification'>" +
                "<wp:Toast>" +
                "<wp:Text1>{0}</wp:Text1>" +
                "</wp:Toast>" +
                "</wp:Notification>";

        //Wrap custom data into envelope
        string message = string.Format(data, txtMessage.Text);
        byte[] notificationMessage = Encoding.Default.GetBytes(message);

        // Set Content Length
        sendNotificationRequest.ContentLength = notificationMessage.Length;

        //Push data to stream
        using (Stream requestStream = sendNotificationRequest.GetRequestStream())
        {
            requestStream.Write(notificationMessage, 0, notificationMessage.Length);
        }

        //Get reponse for message sending
        HttpWebResponse response = (HttpWebResponse)sendNotificationRequest.GetResponse();
        string notificationStatus = response.Headers["X-NotificationStatus"];
        string notificationChannelStatus = response.Headers["X-SubscriptionStatus"];
        string deviceConnectionStatus = response.Headers["X-DeviceConnectionStatus"];
4

1 に答える 1

0

コードをWCFプロジェクトに移動した後、うまくいきました。

于 2013-04-30T06:01:27.163 に答える