Utilizzo di VS2012 Ho aggiunto la funzione di memorizzazione nella cache dalla scheda Caching delle proprietà di WebRole. Tra gli altri, ha generato il seguente codice XML in web.config:Implementazione della memorizzazione nella cache coclea blu
<dataCacheClients>
<tracing sinkType="DiagnosticSink" traceLevel="Error" />
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="[cluster role name]"/>
<!-- <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" /> -->
</dataCacheClient>
</dataCacheClients>
Ok, fantastico. Ho sostituito il [nome ruolo del cluster] con il nome della webrole, diciamo "helloworld.web". Ora, quando creo la DataCacheFactory o DataCache oggetto:
_dataCacheFactory = new DataCacheFactory();
_defaultCache = _dataCacheFactory.GetDefaultCache();
//Or, just this line
_defaultCache = new DataCache(@"default");
ottengo il seguente errore:
Microsoft.ApplicationServer.Caching.DataCacheException was unhandled
HelpLink=http://go.microsoft.com/fwlink/?LinkId=164049
HResult=-2146233088
Message=ErrorCode<ERRCA0021>:SubStatus<ES0001>:Server collection cannot be empty.
Source=Microsoft.ApplicationServer.Caching.Client
ErrorCode=21
SubStatus=-1
Some notes:
IDE: VS2012,
Framework: 4.0
AzureSDK: June2012
Local dev machine
Che cosa mi manca?
Modifica
ho preso a lavorare!
Stavo creando DataCacheFactory nel metodo WebRole OnStart, l'ho spostato su Application_Start in Global.asax e sembra funzionare.
Sandrino spiega perché questo è il caso: https://stackoverflow.com/a/11886136/1374935
Vorrei sapere perché, però, e dove sarebbe il posto migliore per mettere il codice che inizializza alcune operazioni come la creazione di tabelle azzurre, la creazione di connessioni di cache, ecc per un'applicazione ASP.NET MVC. – States
Refer: http://stackoverflow.com/a/11886136/1374935 – States
Ho esattamente lo stesso problema ma avvio della cache da un controller MVC. Non ho fatto nulla in Appplication_start. Qualche idea, è un problema simile e mi manca qualcosa all'avvio? –