c# - Dispatcher.Invoke 不捕获异常

标签 c# windows-phone-8

我在下面有一段代码可以从 HTTP GET 获得响应:

private void ResponseReady(IAsyncResult aResult)
{
    HttpWebRequest request = aResult.AsyncState as HttpWebRequest;

    try
    {
        this.Dispatcher.BeginInvoke(delegate()
        {
            HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(aResult);

没有连接时的问题,会停在response行。它没有捕获异常。是因为 Dispatcher.Invoke 吗?

最佳答案

您的异常未被捕获,因为对 BeginInvoke 的调用未执行您委托(delegate)中的代码,而是将其排队以在 ThreadPool 线程上执行。当您的异常确实发生时,没有适当的异常处理。您是想在这里使用 Invoke 或 BeginInvoke 吗?无论哪种方式,将异常处理放在委托(delegate)中都可以解决您的问题。

关于c# - Dispatcher.Invoke 不捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14595969/

相关文章:

c# - 如何在 Windows 10 通用应用程序上获取配对的蓝牙设备列表

c# - WinRT 在通用应用程序中使用共享资源 xaml 文件

windows-phone-7 - 我们如何将xap文件直接部署到Windows Phone?

internet-explorer - Windows Phone 8 模拟器互联网连接

c# - 为什么要使用 Parse 将字符串转为 int?

c# - 在生产 Azure Service Fabric 集群中找不到 libsodium-64.dll

c# - WPF:如何在显示图片时使用图片?

c# - 在 C# 上使用数组初始化语法初始化 Dictionary 实例时,幕后会发生什么?

javascript - WindowsPhone 8 (phonegap) 和 AngularJs - $routeProvider 不工作?

deployment - Windows Phone 8 模拟器 - 部署错误