我有一个应用程序可以执行以下操作:
-
创建用于在API接收到处理请求时执行进程的AppDomain。
-
加载在服务结构应用程序上执行某些任务所需的一组dll。
-
在应用程序域中执行整个过程。
-
卸载AppDomain并返回响应。
现在有一些场景,
-
在大多数情况下,用户的dll是相同的。例如,当应用程序为每个租户执行某些默认工作时,dll将特定于该工作,但也有一个为每个租户添加自定义工作的规定,这些租户可以使用自己的自定义工作。
-
不同租户使用同一dll的多个版本。
现在对于这个应用程序,当我们通过appdomain容器不断加载和卸载dll时,api的执行速度非常慢。另外,即使应用程序工作得很好,使用的资源也没有优化。(我们在内存和计算上付出了更多的代价,却没有获得性能)。
所以我需要一些选择来优化这个。
-
我们可以使用类似于数据缓存的Dll缓存吗
dll只加载一次,但是当来自多个用户的请求时,我们可以
创建类的实例并调用资源?
-
加载新的自定义dll时,将为该特定的
不影响他人的租户。
请建议在这些情况下,您可以有哪些最佳选择。