gpt4 book ai didi

c# - 关闭应用程序时 WindowsBase.dll 中出现“System.Threading.Tasks.TaskCanceledException”

转载 作者:太空狗 更新时间:2023-10-29 18:14:52 26 4
gpt4 key购买 nike

我的 View 模型中有这个属性。

public bool IsKWH
{
get { return _isKwh; }
set
{
if (value.Equals(_isKwh)) return;
_isKwh = value;
NotifyOfPropertyChange(() => IsKWH);
}
}

有时(大约 10 次中有 1 次)当我关闭我的应用程序时,我在 NotifyOfPropertyChange 中收到以下错误:

WindowsBase.dll 中发生了“System.Threading.Tasks.TaskCanceledException”类型的异常,但未在用户代码中处理

附加信息:任务已取消。

我的 View 模型中有一个 System.Threading.Timer,它正在调用 Web 服务来更新此属性和许多其他属性。

我正在使用 Caliburn.Micro,当我从 1.5 更新到 2.0 时,它似乎已经开始发生。

有什么办法可以防止这个错误的发生吗?

最佳答案

在应用程序关闭之前,您的应用程序可能间歇性地无法处理它正在使用的任何辅助线程。这通常会导致出现错误消息,例如您发布的错误消息。我可以建议尝试以下操作吗:

protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
// close all active threads
Environment.Exit(0);
}

这会强制应用程序在关闭前终止所有事件线程。我记得有一个类似的问题,那个特别的小修复解决了它。可能值得一试,如果它没有帮助,请告诉我,我们可以看看还有哪些其他解决方案。希望这对你有用。

关于c# - 关闭应用程序时 WindowsBase.dll 中出现“System.Threading.Tasks.TaskCanceledException”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26613956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com