0

我有一个用于检索一些数据的网络客户端的包装器。WP8 App 正在使用同样的功能,WP8 ScheduledAgent 也使用了同样的功能。

不知何故,当WP8 App使用该功能时,没有错误并且正确返回。但是,当 ScheduledAgent 使用该函数时,它会在下面的粗体代码中出错。我尝试了尝试捕获,但没有捕获。通过调试器,GetSTringAsync(uri) 已经完成,没有任何异常。该错误似乎仅在将返回任务分配给结果字符串时发生。

我收到的错误是:System.Windows.ni.dll 中发生了“System.UnauthorizedAccessException”类型的未处理异常


   公共类 HttpClient : WebClient
   ..
        私有异步任务 GetStringAsync(string strUri)
        {
            Uri uri = 新的 Uri(strUri);
            字符串结果 = string.Empty;
            尝试
            {
                结果 = 等待 GetStringAsync(uri);
            }
            捕捉(例外前)
            {
                MessageBox.Show(ex.Message);
            }
            返回结果;
        }
...
        私有任务 GetStringAsync(Uri requestUri)
        {
            TaskCompletionSource tcs = new TaskCompletionSource();

            尝试
            {
                this.DownloadStringCompleted += (s, e) =>
                {
                    if (e.Error == null)
                    {
                        tcs.TrySetResult(e.Result);
                    }
                    别的
                    {
                        tcs.TrySetException(e.Error);
                    }
                };

                this.DownloadStringAsync(requestUri);

            }
            捕捉(例外前)
            {
                tcs.TrySetException(ex);
            }

            如果(tcs.Task.Exception != null)
            {
                抛出 tcs.Task.Exception;             
            }

            返回 tcs.Task;
        }


如果我遗漏了什么,请告知。

4

1 回答 1

0

我的问题是因为我在模型中使用图钉作为我的对象类型之一。显然,在计划代理中,它无法访问该对象类型,因此引发了上述错误。

于 2013-08-27T17:02:26.420 回答