使用 2 个 Web 服务器,单例类是否有 2 个实例?
使用 2 个 Web 服务器,单例类是否有 2 个实例?
这两个Web服务器都将具有其应用程序进程的单独实例,无论是.net还是java。因此,是的,两个服务器都将具有您的单例类的单独实例。
无论这两个Web服务器是两个不同的物理机,即使它们位于同一台服务器上,它们肯定会完全在不同的进程上运行。每个进程将独立于任何其他进程将其对象加载到内存中。
specifically in case of asp.net
- 即使在单个Web服务器中,每个站点也会导致Singleton类的单独实例。由于 asp.net 工作进程中的每个站点都加载到单独的应用程序域中,因此没有两个域可以干扰彼此的对象。因此,在 asp.net 即使是具有单个 asp.net 工作进程的单个Web服务器也可以/将具有多个单例类实例,每个实例与另一个实例分开。