0

J'ai un agent d'arrière-plan sur mon application qui fonctionne bien jusqu'à ce que j'envoie une notification toast, il lève une exception non gérée avec le message d'objet exception étant: "Référence d'objet non définie à une instance d'un objet. " La méthode OnInvoke est asynchrone car je fais une requête asynchrone qui fonctionne parfaitement. Le morceau de code qui lève l'exception est leToast notification levant l'exception unrhandhand en arrière-plan agent wp8

  ShellToast toast = new ShellToast(); 
      toast.Title = "hello"; 
      toast.Show(); 

suivant, je n'ai aucune idée de l'endroit où la question pourrait être, grâce à l'avance pour l'aide.

Edit: Voici le Stacktrace:

at Microsoft.Phone.Shell.ShellToast.Show() 
at ScheduledTaskAgent1.ScheduledAgent.<OnInvoke>d__6.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.AsyncMethodBuilderCore. <ThrowAsync>b__4(Object state) 
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) 
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 
at System.Threading.ThreadPoolWorkQueue.Dispatch() 
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 
+0

Quoi d'autre dans votre méthode OnInvoke? – H77

+0

Peut-être que la raison sera claire si vous montrez tout le code de la méthode OnInvoke – user2784555

Répondre

0

Vous pouvez utiliser un autre pain grillé simple, juste aller à paquets NuGet, rechercher Toastinet et l'installer ou le télécharger à partir here.

Après le téléchargement ajouter son espace de noms XAML fichier comme ci-dessous

xmlns:toastinet="clr-namespace:Toastinet;assembly=Toastinet" 

et declaretion de pain grillé est comme ci-dessous

<toastinet:Toastinet Grid.ColumnSpan="2" x:Name="myToast" 
          Duration="1" 
         Height="50" 
         FontSize="20" 
          Margin="0,10,0,0" 
          ShowLogo="False" 
         AnimationType="Vertical" 
         Background="#FFFFFF " 
         Foreground="#4e0916" 
         TextWrapping="Wrap" 
         Canvas.ZIndex="1" 
         VerticalAlignment="Top" /> 

et utiliser ce pain partout dans .cs. comme ci-dessous

this.myToast.Message="hello";