我正在Windows azure上運行一個應用程序,MVC視圖需要動態,我開始將它們作爲數據庫中的記錄存儲,但我非常希望將它們移動到一個物理位置。Windows Azure - 從單獨的workerrole訪問webrole本地存儲
我的理念是通過代碼創建物理文件......它工作得很好,並大大加快了頁面加載速度。這當然是在我意識到這些文件只在角色可用期間纔可用
接下來,我看了一個啓動任務,以便在角色啓動時創建文件 - 但是後來我意識到任何單獨的實例都沒有除非我監控數據庫的變化,否則不會同步。
所以我從一個啓動任務移動到角色的run方法中,每10分鐘檢查一次數據庫以查看是否發生了更改。問題在於,這似乎會扼殺應用程序(至少在熱身階段)。
理想情況下,我想將運行函數移動到它自己的工作者角色,它可以坐在那裏並將文件推送到Web角色實例,但我不確定我將如何去訪問Web角色本地存儲工作者角色。有人可以告訴我這是否可能嗎?並希望指出我正確的方向來實現這一目標?
只是爲了澄清什麼,我試圖實現
- 查看在用戶界面上創建Web角色運行並存儲在數據庫 - 獨立的Web角色(前端)與virtualpath提供商指着查看客戶方應用程序請求本地存儲(本地資源) -separate worker角色創建View結構並將其加載到客戶端Web角色本地存儲
我非常關心創建一個基於本地存儲的解決方案,它可能隨時消失。我會考慮先考慮一些不依賴本地存儲的東西,如果它是必須的,那麼將代碼保存在本地存儲所在的同一臺機器中,同時將機器大小更改爲較大的虛擬機。這總體上不是一個好的設計。 – AvkashChauhan
我對本地存儲的理解是,它至少(像)角色本身一樣持久(即,如果角色丟失或被回收,則需要重新創建本地存儲,但角色也可以在角色中完成作爲一個啓動任務)將文件存儲在一個更持久的位置將是很好,但據我所見blob存儲只能通過http/https訪問,而不是通過文件路徑,這對我的虛擬路徑提供商有負面影響(我試過了),感謝您的輸入:)設計是一項正在進行中的工作。 –
,然後我發現天藍色的雲驅動器,並想知道它一直是我的一生。 –