首页 > 解决方案 > 如何为多租户应用程序共享和缓存 DLL

问题描述

我有一个执行以下操作的应用程序:

  1. 创建一个 AppDomain 用于在 API 接收到处理请求时执行进程。
  2. 加载在 Service Fabric 应用程序上执行某些任务所需的一组 dll。
  3. 在该应用程序域中执行整个过程。
  4. 卸载 AppDomain 并返回响应。

现在有一些场景,

现在对于这个应用程序,由于我们不断地通过 appdomain 容器加载和卸载 dll,API 的执行速度非常慢。此外,即使应用程序运行良好,所使用的资源也没有得到优化。(我们在内存和计算上付出了更多而没有获得性能)。

所以我需要一些选项来优化它。

  1. 我们是否可以使用类似于数据缓存的 Dll Caching,这样同一个 dll 只加载一次,但是当请求来自多个用户时,我们可以创建类的实例并调用资源?
  2. 加载新的自定义 dll 时,将为该特定租户加载相同的内容,而不会影响其他人。

请建议在这些情况下可以有哪些最佳选择。

标签: c#cachingazure-service-fabric

解决方案


推荐阅读