Dea*_*ean 8 c# wpf multithreading caliburn.micro
我在viewmodel中有这个属性.
public bool IsKWH
{
get { return _isKwh; }
set
{
if (value.Equals(_isKwh)) return;
_isKwh = value;
NotifyOfPropertyChange(() => IsKWH);
}
}
Run Code Online (Sandbox Code Playgroud)
关闭我的应用程序时,有时候(10次中有~10次)我在NotifyOfPropertyChange中收到以下错误:
WindowsBase.dll中出现"System.Threading.Tasks.TaskCanceledException"类型的异常,但未在用户代码中处理
附加信息:任务已取消.
我在我的视图模型中有一个System.Threading.Timer,它正在进行webservice调用以更新这个和许多其他属性.
我正在使用Caliburn.Micro,当我从1.5更新到2.0时,它似乎已经开始发生.
反正有没有阻止这种错误发生?
Dig*_*1nt 13
在应用程序关闭之前,您的应用程序可能会间歇性地处理它正在使用的任何辅助线程.这通常会导致错误消息,例如您发布的消息.我可以建议您尝试以下方法:
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
// close all active threads
Environment.Exit(0);
}
Run Code Online (Sandbox Code Playgroud)
这应该强制应用程序在关闭之前终止所有活动线程.我记得有一个类似的问题,特别的小修复解决了它.可能值得一试,如果它没有帮助我知道,我们可以看到可能有哪些其他解决方案.希望这对你有用.
| 归档时间: |
|
| 查看次数: |
5030 次 |
| 最近记录: |