2013-04-10 58 views
0

所以我想知道是否有可能同時使用Azure的共享緩存和Web角色的新的共同位於緩存?我想要將會話狀態存儲在舊的Azure共享緩存中,以便在使用VIP交換的應用程序部署之間保留會話狀態。我想使用新的共同位於緩存緩存在內存中被相當頻繁地訪問,但沒有在數據庫中經常改變的值,因此使他們的理想與新的協同定位緩存和通知緩存。Azure的共享緩存和同位緩存在同一個項目中

回答

0

我不認爲有可能讓這兩個工作。似乎一個版本的緩存需要Microsoft.ApplicationServer.Caching和Microsoft.Web.DistributedCache的101.0.0.0版本,而另一版本需要1.0.0.0版本。這可以通過爲Azure緩存和Azure共享緩存安裝不同的Nuget包來驗證。如果有人確實知道如何同時運行,請在此處發佈解決方案。

我已經遷移使用Microsoft ASP.NET通用提供商我的會話數據SQL Azure中,並加入分佈式緩存的項目,而不是同時使用高速緩存方法。

1

應該只是罰款 - 只是用不同的名字在配置部分緩存:

<dataCacheClients> 
    <dataCacheClient name="colocated"> 
     <autoDiscover isEnabled="true" identifier="[cache cluster role name]" /> 
    </dataCacheClient> 
    <dataCacheClient name="shared"> 
     <hosts> 
      <host name="yourcachename.cache.windows.net" cachePort="22233" /> 
     </hosts> 
    </dataCacheClient> 
</dataCacheClients> 

,並在代碼:

DataCache coloCache = new DataCache("colocated"); 
DataCache sharedcache = new DataCache("shared"); 

,並在會話配置:

​​
+0

好像我有一些DLL不匹配問題,當我這樣做。我正在考慮是否可以找到合適的組合。 – onit 2013-04-10 16:35:58

+0

共享緩存可能會消失 - 傳聞磨坊! – viperguynaz 2013-04-10 17:07:44

+0

不要使用共享緩存,它,呃...不是很好。如果您需要在部署之間保持持久性,請將緩存放入Blob(或其他內容)中並重新加載 – 2013-04-10 18:35:35