Azure功能性能和依赖性注入

时间:2018-01-19 16:38:37

标签: c# azure dependency-injection azure-functions

从性能改进的角度来看,我一直在使用vs 2017来查看Azure功能。依赖注入是天蓝色功能目前不支持的。但是如果我们使用变通方法 (像这样的https://blog.wille-zone.de/post/azure-functions-proper-dependency-injection/)并执行函数的静态构造的依赖注入,它对性能有什么影响?特别是有两个托管计划。

1)消费计划:如果我理解正确,可能每个请求都是单独的,并将在此计划中创建一个新的主机。这是否意味着每次都会调用静态构造函数?并使所有对象再次实例化?在这种情况下,消费计划应该避免依赖注入吗?

2)应用服务计划:这将有一个专用的vm,功能将在其上运行,并提供" Always On"将启用,功能将只启动一次。在这种情况下,依赖注入是否更有意义?或者,一旦触发完成,该函数将退出上下文,并且每次都会创建新实例?

我无法找到关于这种可能性的正确解释(如果可能的话)。有人有想法吗?

1 个答案:

答案 0 :(得分:2)

消费计划并不意味着您将在每次请求时获得新主机。现有的主机将被重复用于后续请求,除非a)它们太忙,扩展并且你得到一个新的主机,或者b)没有几分钟的请求,你唯一的主机被回收。

总的来说,在大多数情况下,我都没有看到这种依赖注入成为瓶颈。