的例子或解释
最近,我在C#中有关僵尸对象的采访中有一个问题。您能用一个简单的例子向我解释它们是什么?
该访谈中的僵尸对象与有关获奖的申请有关,例如,我们可以在ASP.NET MVC中获取这些对象吗?
感谢您抽出宝贵的时间来解释,因为我已经搜索了它,但我没有找到我能理解
事件引起的僵尸情况是:
class AnObjectThatWillSoonGoOutOfScope{
public AnObjectThatWillSoonGoOutOfScope(ISomeLongLivedService service){
service.SomeEvent += OnSomeEvent;
}
private void OnSomeEvent(...){...}
}
长期服务将引用儿童对象,该对象在范围内之前应从活动中取消订阅。您可以使用处置模式避免这种情况。您可以使用像蚂蚁内存探测器这样的工具来跟踪它们。通常,如果您要订阅自己的实例中的事件,则问题不存在(因为订阅者和订户都可以用于垃圾收集)。