我有一个webclient的包装器,我用它来检索一些数据。 WP8应用程序正在使用相同的功能,WP8 ScheduledAgent也使用此功能。
不知何故,当WP8应用程序使用该函数时,没有错误并且它正确返回。 但是,当ScheduledAgent使用该函数时,它会在下面的粗体代码中出错。我尝试了尝试捕捉,但它没有抓住。通过调试器,GetSTringAsync(uri)已经完成,没有任何异常。错误似乎只发生在将返回任务分配给结果字符串时。
我收到的错误是: System.Windows.ni.dll中出现未处理的“System.UnauthorizedAccessException”类型异常
public class HttpClient : WebClient .. private async Task GetStringAsync(string strUri) { Uri uri = new Uri(strUri); string result = string.Empty; try { result = await GetStringAsync(uri); } catch (Exception ex) { MessageBox.Show(ex.Message); } return result; } ... private Task GetStringAsync(Uri requestUri) { TaskCompletionSource tcs = new TaskCompletionSource(); try { this.DownloadStringCompleted += (s, e) => { if (e.Error == null) { tcs.TrySetResult(e.Result); } else { tcs.TrySetException(e.Error); } }; this.DownloadStringAsync(requestUri); } catch (Exception ex) { tcs.TrySetException(ex); } if (tcs.Task.Exception != null) { throw tcs.Task.Exception; } return tcs.Task; }
请告知我是否遗漏了某些东西。
答案 0 :(得分:0)
我的问题是因为我在我的模型中使用图钉作为我的对象类型之一。显然,在预定的代理中,它无法访问该对象类型,从而引发了上述错误。