2013-07-18 23 views
2

我的會話未被緩存。我在我的web角色上使用共址緩存。位於同一位置的緩存在網絡角色中不起作用

我在web.config中如下:

<configSections> 
    <section name="cacheDiagnostics" type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" allowLocation="true" allowDefinition="Everywhere" /> 
</configSections> 
... 
<dataCacheClients> 
    <dataCacheClient name="default"> 
    <autoDiscover isEnabled="true" identifier="Website" /> 
    </dataCacheClient> 
</dataCacheClients> 

我的雲服務定義(.csdef)如下:

<ServiceDefinition name="WebCloud.Test" ...> 
    <WebRole name="Website" vmsize="Small"> 
    <Sites> 
     <Site name="Web"> 
     <Bindings> 
      <Binding name="Endpoint1" endpointName="Endpoint1" /> 
     </Bindings> 
     </Site> 
    </Sites> 
    <Endpoints> 
     <InputEndpoint name="Endpoint1" protocol="http" port="80" /> 
    </Endpoints> 
    <Imports> 
     <Import moduleName="Caching" /> 
    </Imports> 
    <Startup priority="-2"> 
     <Task commandLine="Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe install" executionContext="elevated" taskType="simple" /> 
    </Startup> 
    </WebRole> 
</ServiceDefinition> 

而且在ConfigurationSettings以下cscfg文件

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="DefaultEndpointsProtocol=http;AccountName=ACCOUNTNAME;AccountKey=ACCOUNTKEY==" /> 
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" /> 
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0}]}" /> 
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" /> 
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="20" /> 

任何人都可以發現它爲什麼不起作用嗎? 可能是dataCacheClients嗎?

回答

1

我修正了這個問題。被列入web.config中以下需求:

<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider"> 
    <providers> 
    <add name="AFCacheSessionStateProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" applicationName="AFCacheSessionState"/> 
    </providers> 
</sessionState> 

此存儲ASP.NET會話狀態在緩存中。

相關問題