在某些情况下,我的 Windows Phone 应用程序失败并显示ExecutionEngineException
.
没有真正的步骤来重现失败,所以我不太确定在哪里挖掘。
文档指出此异常已被弃用,并且不再在运行时抛出。
大多数情况下,此异常发生在视图之间的导航期间(在代码中的不同位置)。有时我在尝试获得响应时遇到此异常。具体代码如下:
void ResponseCallback(IAsyncResult ar)
{
var request = ar.AsyncState as HttpWebRequest;
try
{
if (request == null) return;
var response = request.EndGetResponse(ar); // at this point I'm getting the exception.
SetLicenseResponse(response.GetResponseStream());
}
catch (WebException e)
{
Console.LogError("ResponseCallback exception:" + e.InnerException);
}
}
应用程序中使用的外部库是:
该应用程序还使用两个外部 Web 服务。生成的服务引用被包装在使用TaskCompletionSource
类的 async-await 服务消费者中。
还有几个相当大的 ListBox 使用VirtualizingStackPanel
's 作为项目面板。
根据我在互联网上找到的信息,如果从并行线程调用垃圾收集可能会导致异常,但是我没有GarbageCollector
在代码中显式调用。
请建议从哪里开始。提前致谢。
注意:应用程序失败,主要是在设备上调试时出现特定异常。我没有将模拟器用于调试目的。在正常模式下运行应用程序时,我没有注意到日志中的异常,但是有可能异常没有正确处理以出现在日志中。