Когда вы передаете объект, который наследует MarshalByRefObject для другого AppDomain, не будет GC.Collect(), вызванный AppDomain, который создал его, собирает объект при условии, что объект не внедрен в либо AppDomain к моменту вызова GC.Collect()?Объекты сбора мусора, пересекающие границу AppDomain
[Когда я говорю, не укоренились я не имею в виду не разработчик написал код доступа это больше.]
Оказывается, что объект не получает собраны, а получать содействие следующему поколению!
Но если я прекратил передавать объект в diff AppDomain, он собирается, как ожидается.
Это поведение по дизайну? Если это так обосновано?
Спасибо, ребята,
P.S. Я знаю, что GC.Collect() внутри кода плохо по многим причинам, я просто пытаюсь понять, как GC будет проходить на MBRO.
FGE, спасибо! ОК, похоже, что, хотя мы отсылаем ссылки на среду MBRO, она продолжает удерживать объекты через службы управления лизингами и лифтами. Я прочитаю больше об этих областях. – RanC
Возможно, эта ссылка? http://msdn.microsoft.com/en-us/library/23bk23zc(v=vs.85).aspx – Spook