2012-05-14 41 views
0

Configuration the ASP.NET Output Cache Provider for Windows Azure CachingAzure - Azure緩存中applicationName的用途是什麼?

我對applicationName屬性有點迷惑。

這是否意味着我可以使用多個應用程序共享相同的Azure緩存(只要我不最大限度地處理事務,數據傳輸和連接)?

換句話說,只要applicationName不同,相同的緩存鍵不會在不同的web應用程序之間發生衝突?

1 GB緩存爲110.00美元比10 X 128 MB緩存便宜45.00美元。

謝謝你的光芒!

回答

0

如果我們考慮用於開箱即用緩存的架構設計,那麼當您在雲中運行同一應用程序的多個實例並使用開箱即用緩存時,請保持所有實例同步輸出緩存。

當您有多個應用程序1)/ Root 2)/ production 3)/ test時,您確實不希望在兩個不同的應用程序之間混合輸出緩存,因爲輸出緩存可能具有分佈在緩存端點的完整頁面和部分頁面緩存基於應用程序名稱(如果已配置)或IIS系統提供的AppID。

如果您在同一個ASP.NET Web角色應用程序中使用多個站點,那麼您可以使用dataCacheClient根據具有相同應用程序的不同站點的不同主機標頭分隔輸出緩存,這將是首選解決方案。

+0

它如何與單一ASP.Net Web角色中的常規單一Web應用程序(包含兩個實例)一起工作?我是否必須顯式設置applicationName(否則,一個實例的緩存不能被其他實例訪問 - 這實際上會破壞分佈式緩存的目的)?謝謝你的光芒! – Win

0

基於MSDN鏈接,ApplicationName在內部用於生成緩存鍵。如果未提供應用程序密鑰,則使用HttpRuntime.AppDomainAppId。現在,開發團隊有責任使用IIS元數據庫,以便每個實例中的HttpRuntime.AppDomainAppId解析爲相同的值。

簡而言之,ApplicationName名稱用於提供額外的隔離層,如果ApplicationName匹配不同的應用程序,那些應用程序將使用相同的緩存。

0

在會話狀態和輸出緩存的applicationName標籤使用的差別就是這裏所說的: http://msdn.microsoft.com/en-us/library/hh361708.aspx

在上下文來這裏問的問題,applicationName的標籤是得心應手同一角色的多個實例之間的緩存數據。

+0

你只是複製了我所問的完全相同的內容。無論如何,Windows Azure緩存(預覽)已經不存在了,我不必再擔心使用不同的雲服務共享緩存(以節省資金)。 – Win

相關問題