Ho un object semplice che viene memorizzato nella cache in questo modo: _myCache.Add(someKey, someObj, policy); Dove _myCache è dichiarato come ObjectCache (ma iniettato via DI come someObj ), someObj è l’object che sto aggiungendo, e policy è un CacheItemPolicy . Se ho un CacheItemPolicy come questo: var policy = new CacheItemPolicy { Priority = CacheItemPriority.Default, […]
Sono confuso riguardo la proprietà AbsoluteExpiration su CacheItemPolicy. La documentazione MSDN per esso dice “Il periodo di tempo che deve passare prima che una voce della cache venga eliminata.” Usa un System.DateTimeOffset per definire il “periodo di tempo”. Ma se si guarda la documentazione MSDN di DateTimeOffset , si dice che “rappresenta un punto nel […]
Attualmente memorizzo nella cache il risultato di una chiamata al metodo. Il codice di memorizzazione nella cache segue lo schema standard: utilizza l’elemento nella cache, se esiste, altrimenti calcola il risultato, memorizzandolo nella cache per le chiamate future prima di restituirlo. Vorrei proteggere il codice client dai messaggi di errore della cache (ad es. Quando […]
In questo articolo: http://msdn.microsoft.com/en-us/magazine/jj883956.aspx l’autore afferma che il seguente codice può fallire a causa di “loop read hoisting”: class Test { private bool _flag = true; public void Run() { // Set _flag to false on another thread new Thread(() => { _flag = false; }).Start(); // Poll the _flag field until it is set […]
Sto usando il seguente codice .net per aggiungere oggetti alla cache: public static void Add(string key, T dataToCache) { try { ApplicationLog.Instance.WriteInfoFormat(“Inserting item with key {0} into Cache…”, key); HttpRuntime.Cache.Insert( key, dataToCache, null, DateTime.Now.AddDays(7), System.Web.Caching.Cache.NoSlidingExpiration); } catch (Exception ex) { ApplicationLog.Instance.WriteException(ex); } } e qui è il mio codice per recuperare i valori dalla cache: […]
C’è una LFU Cache già pronta disponibile in C #?
Ho notato che ci sono alcune soluzioni per consentire l’uso di memcached su C # / ASP.NET: memcacheddotnet enyim.com Memcached Client BEIT Quale dovrei usare? Sembra che il porto di enyim abbia uno sviluppo più attivo, ma volevo vedere cosa raccomandate voi ragazzi.
Ho usato i file resx per le stringhe statiche al fine di avere un posto centrale per cambiarli. Il problema è che non posso cambiarli dopo che il progetto è stato realizzato e distribuito. Ci sono alcune stringhe che vorrei cambiare dopo l’implementazione, senza riavviare il processo (quindi i file .config sono fuori). È ansible […]
Sto usando VaryByCustom per creare una cache di output su base per-browser e per utente: [OutputCache(Duration = 6000, VaryByParam = “*”, VaryByCustom=”browser;userName”)] (Ho scavalcato GetVaryByCustomString() per farlo funzionare.) Devo essere in grado di rimuovere la cache di output di un singolo utente, senza invalidare la cache di output di utenti diversi, se ansible. Ho letto […]
Ho una cache che implemento usando un ConcurrentDictionary, I dati che devo tenere dipende da 5 parametri. Quindi il metodo per scaricarlo dalla cache è: (mostro solo 3 parametri qui per semplicità, e ho cambiato il tipo di dati per rappresentare CarData per chiarezza) public CarData GetCarData(string carModel, string engineType, int year); Mi chiedo quale […]