C# 是否通过不同的应用程序共享单例?

C# 是否通过不同的应用程序共享单例?,c#,singleton,C#,Singleton,我想知道:如果我创建了一个带有私有构造函数和一个静态方法的单例类,该类将返回该类的实例并将其放入汇编,那么如果我从两个不同的应用程序访问该实例,会发生什么情况 应用程序是否总是共享同一个singleton实例 如果这两个应用程序都从内存中卸载,那么实例也将被释放 谢谢。两个不同的应用程序不会共享对象,不会。它们当然会共享对象的完全相同的代码,因为它们加载的是同一个程序集,但它们在各自的地址空间中都有各自的单个副本 事实上,即使是运行两次的相同的应用程序也不会在它们之间共享实际的单例实例。我不这么

我想知道:如果我创建了一个带有私有构造函数和一个静态方法的单例类,该类将返回该类的实例并将其放入汇编,那么如果我从两个不同的应用程序访问该实例,会发生什么情况

应用程序是否总是共享同一个singleton实例

如果这两个应用程序都从内存中卸载,那么实例也将被释放


谢谢。

两个不同的应用程序不会共享对象,不会。它们当然会共享对象的完全相同的代码,因为它们加载的是同一个程序集,但它们在各自的地址空间中都有各自的单个副本


事实上,即使是运行两次的相同的应用程序也不会在它们之间共享实际的单例实例。

我不这么认为,如果不执行任何操作,则每个应用程序空间将有一个单例。

如果您没有通过将其保存/加载到驱动器或数据库中的同一物理位置来明确将其作为共享单例,则不会。

单例类将基于每个appdomain,因此如果您有多个appdomains加载单例类超过个可以找到singleton类的多个实例


跨进程单例没有任何意义,您将拥有不同的实例

更具体地说,静态实例不会跨AppDomain边界共享,所以在一个运行的应用程序实例中甚至可以有两个单例。@Andrew Singleton模式保证只在进程或应用程序域中创建类的单个对象?