场景:
- 我创建了一个新的类实例(在我的情况下,是一个游戏的玩家,包括他们本次会话的点数、他们选择的化身图形等)
- 我添加了对Singleton服务(游戏服务器)的引用
- 玩家离开
问题:
该引用是否由Blazor维护,因为它在某个地方(服务器)仍然处于活动状态,或者创建对象如果被释放,会删除该引用,导致服务器中出现null错误
我试过这样做,但即使在用户离开后,页面似乎也能得到维护。我担心不合时宜的垃圾收集可能会导致null异常,但我很好奇Blazor(C#?)是否足够聪明,不会处理传递给其他对象的引用。
类实例只是一个类还是一个服务?如果它只是一个类,那么它在被引用时保持活动状态。一旦最后一个引用被销毁,它就开始进行垃圾收集。在您的实例中,只要singleton服务拥有引用,那么它就会保持活动状态。