2017-07-07 105 views
3

我一直無法找到關於在應用程序服務計劃中隔離Azure函數的文檔。Azure函數靜態隔離

如果您共享例如靜態變量蔚藍的函數調用我相信通過可擴展性建議閱讀之間的HttpClient可能在同一進程或單獨的進程或單獨的服務器上運行......這是很好的,使用Lazy<T>可以幫助解決線程問題。

但是可以分開的Azure函數共享一個工作進程?即應該隔離靜態變量以確保功能的隔離?我收集使用ConcurrentDictionary與該功能的關鍵是一個很好的方法來幫助解決這個問題,但我還沒有找到任何討論隔離的文檔。

+0

我們唯一能做的就是停止重新提出建議,即鎖定整個問題,這也會阻止任何人對其進行投票,評論等。這在這裏不合適。坦率地說,我不明白你爲什麼反對[[tag:azure]]標籤。標籤如何「太寬」? [[tag:azure-functions]]是[[tag:azure]]的子集,所以後者似乎也適用。 –

+1

感謝@CodyGray查看它。我想我認爲它太廣泛了,因爲天藍色的功能包含天藍色。這不是一個天藍色的問題,而是非常特別的與天藍色的功能有關。它類似於使用.net標記的ac#問題(很好,但這是我現在可以想到的最好的比喻:-))我會向社區低頭,如果它再次被標記,我會批准它。 –

回答

5

你可以有一個或多個功能應用管理這樣的:

  • 應用程序將在同一個進程中運行,並會重用任何靜態與同一應用程序的其他功能相同功能的不同功能運行在同一臺主機上。

  • 不同功能的應用程序相互隔離。

爲了看清楚,你可能會去Kudu(每個應用程序)。在Environment選項卡上可以看到一個機器名稱,因此您可以檢查兩個應用程序是否在同一臺計算機上運行。然後,在Process Explorer選項卡上,您將看到分配給特定功能應用程序的w3wp.exe進程。