Sto sviluppando un'applicazione che presenta il feed Twitter di un'azienda su un'applicazione Facebook. Questa è una grande azienda con molto traffico all'app FB, quindi ho bisogno di memorizzare nella cache i dati di Twitter che ricevo (dall'API di Twitter) in modo da evitare i limiti di velocità.Memorizzazione nella cache dei dati JSON in C# MVC3
Nel mio codice, utilizzo LinqToTwitter per chiamare l'API e quindi costruisco una stringa di JSON con i risultati. Tale stringa viene quindi inviata al browser dell'utente tramite AJAX.
Il limite di velocità per le chiamate API Twitter è 150 all'ora, quindi immagino che inserirò la stringa di dati JSON che costruisco in un oggetto cache e la aggiornerò solo una volta al minuto lasciandomi ben al di sotto del limite di frequenza di Twitter.
Il problema è che sono abbastanza nuovo in MVC per .NET e non riesco a utilizzare System.Web.Caching come se potessi fare in un'applicazione Webforms.
In più anziani WebForms applicazioni che semplicemente fatto qualcosa di simile:
private string KeyTwitterData;
...
string data = null;
if (Cache[KeyTwitterData] == null)
{
var url = LinqToTwitter.Request.Url;
data = ServiceMethods.GetConversation(url);
Cache.Insert(KeyTwitterData, data);
}
else
{
data = (string)Cache[KeyTwitterData];
}
qualcuno può dirmi come ottenere questo risultato in MVC3?
Grazie!
Matt
@Darin, questo funzionerebbe con Posizione impostata su client anziché su server? Voglio dire, memorizzando il risultato JSON sul client invece che sul server? – AdrianoRR
Darin, ottima risposta! Vorrei solo sapere se sarebbe possibile invalidare la cache [OutputCache] da un controller specifico. – GibboK