首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候“被杀”

什么时候“被杀”
EN

Stack Overflow用户
提问于 2020-03-17 23:01:38
回答 1查看 364关注 0票数 2

我是新手,偶然发现了一些奇怪的东西。如果我在OnInitializedAsync覆盖中执行无限will循环,它将在导航到另一个页面后继续运行。

此外,如果我来回导航,它将运行多个这些无限时间循环。就好像它在每个导航到页面的地方创建一个新实例一样,但是当从页面导航时,它不会清理实例。

这怎麽可能?在用户没有切换页面的情况下,建议使用什么方法来进行连续api请求(用于更新数据)?或者任何一种持续的任务。

谢谢!-Victor

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-18 00:01:14

您应该使组件是一次性的,并在Dispose方法中取消任何正在运行的任务/从任何事件中取消订阅等。

当Blazor呈现页面时,它将创建组件的一个新实例,并且当您从“页面”中删除组件(这包括导航到另一个组件/页)时,如果组件实现了IDisposable,那么将调用Dispose。

如何实现长期运行的任务取决于您自己--通常情况下,它将进入服务而不是UI组件。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60731407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档