2

在某些情况下,我的 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在代码中显式调用。

请建议从哪里开始。提前致谢。

注意:应用程序失败,主要是在设备上调试时出现特定异常。我没有将模拟器用于调试目的。在正常模式下运行应用程序时,我没有注意到日志中的异常,但是有可能异常没有正确处理以出现在日志中。

4

0 回答 0