这些错误是由我的同事发送给我的,寻求帮助。 我不太了解这些代码,因为我不使用实例,而是使用MdiParent。 因此,问题在于,当您首次登录(管理模块)时,当您单击button1时,将成功查看panel3上的项目。 但是在注销,再次登录并重新单击button1时,会发生此错误 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
目标是启动一个长期运行的后台任务,进入“剃刀”页面。 后台任务在数据库中所做的更改将在“剃刀”页面的表中更新。
我可以更改左侧的菜单,并可以返回页面。 但是,当我在页面运行期间按下F5时,出现以下错误:System.ObjectDisposedException:'处理渲染器后无法处理挂起的渲染器。 对象名称:“ Renderer”。
我不知道所采用的方法是否完全错误,是否必须以其他方式完成。
我希望在“剃刀”页面中启动“发射并忘记”任务不会损害该页面(“剃刀”页面):
protected override async Task OnInitializedAsync()
{
ViewModel.PropertyChanged += async (sender, e) =>
{
await InvokeAsync(() =>
{
StateHasChanged();
});
};
await base.OnInitializedAsync();
if (!ViewModel.IsBusy)
{
_ = Task.Factory.StartNew(ViewModel.AddItems);
}
}
ViewModel中的方法:
public void AddItems()
{
IsBusy = true;
CancellationTokenSource stoppingToken = null;
stoppingToken = new CancellationTokenSource();
CancellationToken token = stoppingToken.Token;
for (int i = 0; i < 10; i++)
{
List.Add($"{i}");
OnPropertyChanged(nameof(List));
var cancellationTriggered = token.WaitHandle.WaitOne(1000);
}
IsBusy = false;
}
重现此问题的示例可在此处找到:在此处输入链接描述
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.