2013-04-10 4 views
0

그래서 Azure Shared 캐싱과 새로운 공동 위치 캐시를 웹 역할에 사용할 수 있는지 궁금합니다. VIP 스왑을 사용하는 응용 프로그램의 배포간에 세션 상태를 유지하기 위해 이전 Azure Shared Cache에 세션 상태를 저장하려고합니다. 자주 액세스하지만 데이터베이스에서 자주 변경되지 않는 값을 메모리에 캐싱하기 위해 새로운 공동 배치 캐시를 사용하여 새로운 공동 배치 캐시 및 알림을 사용하여 캐시하는 것이 이상적입니다.Azure 공유 캐싱 및 동일한 위치에 동일한 위치에있는 캐싱

답변

0

둘 다 일하는 것이 가능하지 않다고 생각합니다. 한 버전의 캐싱에는 Microsoft.ApplicationServer.Caching 및 Microsoft.Web.DistributedCache의 101.0.0.0 버전이 필요하며 다른 버전에는 1.0.0.0 버전이 필요합니다. 이것은 Azure Caching 및 Azure Shared Caching에 대해 다른 nuget 패키지를 설치하여 확인할 수 있습니다. 누군가 둘 다 실행하는 방법을 알고 있다면 여기에 해결책을 게시하십시오.

Microsoft ASP.NET Universal Providers를 사용하여 세션 데이터를 Azure SQL로 마이그레이션하고 두 캐시 방법을 모두 사용하는 대신 분산 캐시를 프로젝트에 추가했습니다.

1

는 잘 작동합니다 - 그냥 사용하는 다른 이름을 설정 섹션에서 캐시을 위해 :

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

및 세션 설정에서 :

<!-- Windows Azure Caching session state provider --> 
<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider"> 
    <providers> 
    <add name="AFCacheSessionStateProvider" 
     type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" 
     cacheName="shared" 
     dataCacheClientName="shared" 
     applicationName="AFCacheSessionState"/> 
    </providers> 
</sessionState> 
<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> 

및 코드에서

+0

내가 이렇게하면 일부 DLL 불일치 문제가있는 것 같습니다. 나는 올바른 조합을 찾을 수 있는지 찾고 있습니다. – onit

+0

공유 캐싱도 사라질 수 있습니다 - 소문 공장! – viperguynaz

+0

공유 캐싱을 사용하지 마십시오. 그다지 좋지 않습니다. 배포 사이에 유지해야한다면, 캐시를 블롭 (또는 다른 것)으로 가져 와서 –