发生时在Windows Phone中的System.Windows.ni.dll中发生类型为“’System.Reflection.TargetInvocationException’的未处理exception

我正在创建一个WP8应用程序,它使用Web Service来获取,创建,更新和删除数据并显示它。
现在的问题是我的应用程序通过抛出崩溃

Windows Phone中的System.Windows.ni.dll中出现“System.Reflection.TargetInvocationException”类型的未处理exception

在此处输入图像描述

这个例外没有堆栈跟踪,我坚持了几个小时。 我注意到,每当调用服务比正常更频繁,但我没有得到实际原因时会发生此exception。

知道真的很有帮助
这是什么类型的例外?
2.这会发生什么情况?
3.由于此exception,我们如何处理应用程序崩溃?

你的评论

你是对的 。 得到一个内部exception对象说“在MyApp.ViewModels.CreateViewModel.d__61.MoveNext()—从抛出exception的前一个位置的堆栈跟踪结束—在System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__0(对象状态) “消息:对象引用未设置为对象的实例。

只是在某个地方显示,你正在调用一个不等待的异步方法: 当一个方法返回一个任务时,总是等待它。

你的内部exception应该有一个内部exception(即$ exception.InnerException.InnerException,其中stacktrace将显示你的NullReferenceException的位置)

当代码中没有处理代码中的exception时,会调用UnhandledException事件,并且应用程序不知道如何处理它。 默认情况下,它会使您的应用崩溃。 但是,您可以阻止您的应用在这些情况下崩溃。 看到这个以了解更多信息。

要解决您的问题“干净的方式”,您必须找到不等待您的代码的地方,并修复它。 即某处你会发现:

 myObject.DoSomethingAsync(); // DoSomethingAsync() returns a task. 

更改 :

 try { await myObject.DoSomethingAsync(); // DoSomethingAsync() returns a task. }catch(Exception ex) { // display error message or whatever } 

[edit]这将处理错误,但你真正想要解决的是你的nullrefexception的原因。 我没有那么多线索,但它看起来像一个线程并发问题。

这是什么类型的例外?

当您尝试访问aw / s时会发生此exception,并且它将变得过载。

2.这会发生什么情况?

业务逻辑很复杂或数据库锁定或无响应

3.由于此exception,我们如何处理应用程序崩溃?

处理它我建议做得更好w / s的性能或你可以使用递归调用,但它不会解决我认为的问题

或者在使用Task时调用Invquire

 delegate void SetDataSourceHandler(DataTable data); public void SetDataSource(dDataTable data) { if (gvData.InvokeRequired) { gvData.Invoke(new SetDataSourceHandler(SetDataSource), new object[] { data }); return; } nodosDataTableBindingSource.DataSource = data; } async Task ProcesarMensajes() { ... SetDataSource( GetList(nodes)); }