小编Ran*_*anC的帖子

何时使用StreamReader.ReadBlock()?

我想知道一种情况Read(char [],int,int)无法返回请求的所有字符,而ReadBlock()按预期返回所有字符(例如当StreamReader与FileStream对象的实例一起工作时).

c# readblock

11
推荐指数
2
解决办法
3万
查看次数

跨越 AppDomain 边界的垃圾收集对象

当您将从 MarshalByRefObject 继承的对象传递给不同的 AppDomain 时,创建该对象的 AppDomain 引发的 GC.Collect() 不会收集该对象,前提是该对象在 GC.Collect( 时未植根于任一 AppDomain 中) )叫?

[当我说没有 root 时,我的意思是开发人员编写的代码不再访问它。]

看来该对象并没有被收集,而是被提升到了下一代!

但是,如果我停止将对象传递给 diff AppDomain,它就会按预期被收集。

这是设计使然吗?如果有的话有什么道理吗?

多谢你们,

PS 我知道代码中的 GC.Collect() 出于多种原因是不好的,我只是想了解 GC 如何在 MBRO 上发生。

c# garbage-collection appdomain marshalbyrefobject

5
推荐指数
1
解决办法
1330
查看次数