3

皆さん、WP7のサンプルアプリケーションを実行しています。サービス(WCF)もあり、プッシュ通知送信者(WPF)もあります。これまでのところ、これはMicrosoftがWP7トレーニングキットで設定したプッシュ通知の取り決めと非常によく似ています。アプリを起動してからアプリを終了してホーム画面に戻ると、トースト通知を正常に送信できます。トースト通知は上部に表示され、少し音がして、正しいテキストが表示され、次の場合にアプリが起動します。タップします。

ただし、アプリケーションがフォアグラウンドで実行されているときに、まったく同じシェルトースト通知をアプリケーションに送信すると、ルートXMLノードに無効な文字があるというエラーが表示されます。このエラーは、トースト通知ハンドラーが呼び出されず、デバッガーがエラーを生成したコード行を表示できないため、WP7の内部で発生します。

トレーニングキットのWP7プッシュ通知サンプルに付属しているNotificationSenderUtilityを使用して、通知を送信しています。

なぜこれが起こっているのか、どうすれば修正できるのかを誰かが知っているなら、土曜日にコードキャンプで提供しているデモがあり、プッシュ通知はデモの一部であるはずなので、知りたいです:)

これが私が得るスタックトレースです:

System.Xml.XmlTextReaderImpl.Throw(Exception e)at System.Xml.XmlTextReaderImpl.Throw(Int32 res、String resString、String [] args)at System.Xml.XmlTextReaderImpl.Throw(Int32 res、String resString)atSystem。 Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()at System.Xml.XmlTextReaderImpl.ParseDocumentContent()at System.Xml.XmlTextReaderImpl.Read()at Microsoft.Phone.Notification.ShellObjectChannelInternals.ParseXMLToProperties(String xmlString、IDictionary`2&propertyBag)at Microsoft.Phone Microsoft.Phone.Notification.ShellObjectChannelInternals.ChannelHandler(UInt32 eventType、IntPtr blob1、UInt32 blobSize1、IntPtr blob2、UInt32 blobSize2)の.Notification.ShellObjectChannelInternals.OnNotificationReceived(IntPtr blob、UInt32 blobSize)System.Threading.ThreadPool.WorkItem.doWork(Object o)のSystem.Threading.Timer.ring()のDispatch(Object threadContext)


ありがとう、ケビン

4

1 に答える 1

2

クライアントのコードを確認し、送信者が最新のドキュメントに準拠していることを確認してください。ベータ期間中に仕様に変更がありました。

方法:WindowsPhoneのWebサービスからプッシュ通知を送信する

方法:WindowsPhoneの通知チャネルを設定する

トレーニングキットから使用しているツール/コードが、まだ仕様に適合していない可能性があります。

于 2010-11-01T23:38:04.647 に答える