我的公司有很多客户,我们目前每个服务器只能处理有限数量的客户。然而,每个客户都使用相同的核心Web应用程序。目前,一些内容在每个站点本地存储,因此我们不能让它们使用相同的站点/应用程序池;尽管我们已经有一个多租户转换项目。
我们强烈地签署所有的程序集,我想看看是否可以让它们在ASP.NET中以域中立方式加载,这是一个有趣的想法。这样做的好处是可以大幅减少我们的内存成本,这是我们当前最高的成本和限制因素之一。此外,似乎我们可以简化部署过程,当前部署过程(编译)受IO / CPU限制,通常会花费我们约6小时的时间。
这项任务意味着我要将程序集从应用程序池的应用程序域移动到共享域。
我对域中立加载的要求的理解如下:
1. 程序集必须被强名称并放置在GAC中。 2. 绑定包含的依赖项必须在GAC中 [且必须强名称]。
我试图让这个小型示例应用程序工作,但我无法让它在共享域中工作。我首先尝试将Newtonsoft.Json放入GAC中,并激动地发现它在重新启动后切换到了共享域。然而,即使我将所有的程序集都放入GAC中,也无法让其他程序集切换到共享域:
我的目标是让我的主要应用程序DLL以域中立方式加载。如何调试/继续解决为什么剩余的程序集没有作为域中立加载?
此外,我对NGEN代码页面共享与共享域加载的程序集之间的关系有点困惑。
我们强烈地签署所有的程序集,我想看看是否可以让它们在ASP.NET中以域中立方式加载,这是一个有趣的想法。这样做的好处是可以大幅减少我们的内存成本,这是我们当前最高的成本和限制因素之一。此外,似乎我们可以简化部署过程,当前部署过程(编译)受IO / CPU限制,通常会花费我们约6小时的时间。
这项任务意味着我要将程序集从应用程序池的应用程序域移动到共享域。
我对域中立加载的要求的理解如下:
1. 程序集必须被强名称并放置在GAC中。 2. 绑定包含的依赖项必须在GAC中 [且必须强名称]。
我试图让这个小型示例应用程序工作,但我无法让它在共享域中工作。我首先尝试将Newtonsoft.Json放入GAC中,并激动地发现它在重新启动后切换到了共享域。然而,即使我将所有的程序集都放入GAC中,也无法让其他程序集切换到共享域:
我的目标是让我的主要应用程序DLL以域中立方式加载。如何调试/继续解决为什么剩余的程序集没有作为域中立加载?
此外,我对NGEN代码页面共享与共享域加载的程序集之间的关系有点困惑。