假设我有以下代码:
serviceCallFinished = false;
Task.Factory.StartNew(() => {
response = ServiceManager.GeneralService.ServiceMethod(loginName, password);
}).ContinueWith(parentTask => { serviceCallFinished = true; });
while (!serviceCallFinished)
Thread.Sleep(100);
if (response.UserValid) { }
在这种情况下,
ServiceMethod
将抛出一个Exception
,但这从未被显示,相反,我会在response.UserValid
上得到一个空引用?为什么异常没有传递到我的UI线程?注意:这是在UI线程上进行的,我的想法是不要在服务调用期间阻塞线程。