DLL中的Singleton类用于多个虚拟目录

Dre*_*ejc 1 c# asp.net singleton iis-7

我有以下情况:

  • IIS中相同应用程序池下的多个虚拟目录
  • 所有这些目录中相同DLL的副本(相同版本号)
  • 此DLL中的单个类

问题是,这个单例类是仅为所有这些虚拟目录实例创建了一次,还是为每个目录创建了一个单独的单例类.

代码看起来像这样:

    [
Transaction(TransactionOption.Supported),
ClassInterface(ClassInterfaceType.AutoDispatch),
Guid("7DE45C4D-19BE-4AA4-A2DA-F4D86E6502A8")
]
public class SomeClass
{
    private static readonly Singleton singleton = new Singleton();
Run Code Online (Sandbox Code Playgroud)

kem*_*002 7

将使用它为每个应用程序创建单例.每个应用程序彼此分离,因为它们各自存在于自己的应用程序域中.

要在不同的应用程序中拥有真正的单例类,您需要让它们与保存信息的通用应用程序进行通信(例如通过远程处理或WCF等).

应用程序池控制该池中的内存和处理器应用程序可以访问的程度(以及程序运行的帐户).他们仍然是彼此分开的.