.net 如何创建进程范围的单例对象?

.net 如何创建进程范围的单例对象?,.net,singleton,.net,Singleton,我了解到.Net中静态字段的粒度单位是每个AppDomain,而不是每个进程。是否可以创建进程范围的单例对象?必须使用封送调用跨AppDomains传递信息。因此,您需要在父AppDomain中创建状态对象,然后将其传递给希望使用它的任何子对象。如果您不必这样做,那么您将在AppDomains之间共享内存,这将违背此目的 在每个AppDomain中,您可以有一个单例,其中包含对主域中实际单例的(封送)引用的引用。因此,您的代码看起来仍然是“singleton-y”,但它后面会有一些隐藏的连线

我了解到.Net中静态字段的粒度单位是每个AppDomain,而不是每个进程。是否可以创建进程范围的单例对象?

必须使用封送调用跨AppDomains传递信息。因此,您需要在父AppDomain中创建状态对象,然后将其传递给希望使用它的任何子对象。如果您不必这样做,那么您将在AppDomains之间共享内存,这将违背此目的

在每个AppDomain中,您可以有一个单例,其中包含对主域中实际单例的(封送)引用的引用。因此,您的代码看起来仍然是“singleton-y”,但它后面会有一些隐藏的连线