Azure功能静态隔离

Ale*_*ith 6 c# static azure azure-functions

我无法在应用服务计划中找到有关Azure功能隔离的大量文档.

如果您共享一个静态变量,例如,HttpClient在azure函数调用之间,我假设读取可以在同一进程或单独的进程或单独的服务器中运行的可伸缩性建议......这很好,使用Lazy<T>可以帮助解决线程问题.

但是可以将Azure Functions分开一个工作进程吗?即我应该隔离静态变量以确保功能的隔离?我收集使用ConcurrentDictionary带有键的函数是一个很好的方法来帮助解决这个问题,但我还没有找到任何讨论隔离的文档.

Mik*_*kov 9

您可以通过一个或多个功能应用来管理:

  • 同一个功能应用程序的不同功能将在同一进程中运行,并将重用任何静态状态,并在同一主机上运行同一应用程序的其他功能.

  • 不同功能应用程序的功能相互隔离.

要在视觉上看到你可以去Kudu(每个应用程序).在"环境"选项卡上,您会看到计算机名称,因此您可以检查两台应用程序是否在同一台计算机上运行.然后,在Process Explorer选项卡上,您将看到w3wp.exe分配给特定功能应用程序的进程.