我读到.Net中静态字段的粒度单位是每个AppDomain,而不是每个进程。是否可以创建一个进程范围的单例对象?
答案 0 :(得分:2)
您必须使用已编组的呼叫在AppDomains之间传递信息。因此,您需要在父AppDomain中创建状态对象,然后将其传递给任何想要使用它的子项。如果您不必这样做,那么您将在AppDomains之间共享内存,这会破坏目的。
在每个AppDomain中,您可以拥有一个单例,该单例包含对主域中实际单例的(编组)引用的引用。所以你的代码看起来仍然是“singleton-y”,但它背后会有一些隐藏的线路。