Я разработал приложение для Windows Phone 8 и внедрил в него службу push-уведомлений. Когда я запускаю приложение в эмуляторе Windows Phone, оно создает URI (получение из MPNS) и отправляет его в базу данных для отправки уведомления в следующий раз, но проблема в том, что когда я перезапускаю свой эмулятор, URI изменяется, Я хочу сохранить тот же URI для устройства или эмулятора, как я могу это сделать?
Мой код для генерации URI
HttpNotificationChannel pushChannel;
string channelName = "TileSampleChannel";
InitializeComponent();
pushChannel = HttpNotificationChannel.Find(channelName);
if (pushChannel == null)
{
pushChannel = new HttpNotificationChannel(channelName);
pushChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(PushChannel_ChannelUriUpdated);
pushChannel.ErrorOccurred += new EventHandler<NotificationChannelErrorEventArgs>(PushChannel_ErrorOccurred);
pushChannel.Open();
pushChannel.BindToShellTile();
}
else
{
pushChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(PushChannel_ChannelUriUpdated);
pushChannel.ErrorOccurred += new EventHandler<NotificationChannelErrorEventArgs>(PushChannel_ErrorOccurred);
//System.Diagnostics.Debug.WriteLine(pushChannel.ChannelUri.ToString());
// MessageBox.Show(String.Format("Channel Uri is {0}", pushChannel.ChannelUri.ToString()));
string strURI = pushChannel.ChannelUri.ToString();
(App.Current as App).phoneURI = strURI;
}
Я выбрал этот (App.Current as App).phoneURI и отправил в базу данных, но он изменится, когда я перезапущу эмулятор?
И иногда он дает URI, а иногда выдает исключение Исключение типа «System.NullReferenceException» возникло в TileNotificationClient.DLL, но не было обработано в пользовательском коде в этой строке string strURI = pushChannel.ChannelUri.ToString();