Bazı dağıtılmış önbellek istemcileri (Redis & Memcached) ObjectCache sınıfı aracılığıyla uygulamayı düşünüyorum. Fark ettiğim bir şey, bu soyut sınıftaki tüm yöntemlerin eş zamanlı olması, yani hiçbirinin Görevler döndürmemesidir. Dağıtılmış önbellek alma veya alma çağrıları yerel makineden uzakta olacağından ve bir ağ gezisi içerdiğinden, bu işlemlerin Async sürümlerini kullanmak isterim. Yani, Async kalıplarını destekleyen CacheObject gibi .Net çerçevesinde standart bir önbellek sınıfı var mı?ObjectCache'nin Async sürümü?
cevap
bir AsyncCache @TrevorBrooks tarafından bahsedilen paralel uzantıları paketinde olmamasına rağmen, beklediğim şekilde çalışmadı. Beklenen bir Görev ile dağıtılmış bir önbellek öğeleri koymak/almak/kaldırmak gerekiyordu. Bu yüzden aşağıdaki arayüz oluşturma bitti: O zamandan beri/onların get/koymak için Görev/zaman uyumsuz sürümünü sunmak birkaç önbellek sağlayıcıları karşı arabirimini uygulamak onun iyi çalışıyor yöntem ve kaldırmak mümkün olmuştur
public interface IAsyncCache<T>
{
Task Initialize(Dictionary<string, string> parameters);
Task Put(string key, T value, TimeSpan lifeSpan);
Task<T> Get(string key);
Task Remove(string key);
}
.
Kullanım ParallelExtensionsExtras Nuget paketi ile birlikte AsyncCache sınıfı:
http://www.nuget.org/packages/MSFT.ParallelExtensionsExtras/1.2.0
link için teşekkürler, diğer okuyucular için burada önbellek sınıfının iyi bir bakış: http://blogs.msdn.com/b/pfxteam/archive/2010/04/23/10001621.aspx –
Paralel uzantı kitaplığında bulunan AsyncCache sınıfı, beklediğim gibi çalışmadı. Get/Put/Remove işlemlerinin bir uyumsuz sürümünü bekledim - bunu bulamadım. Bu yüzden kendi ara yüzümü yuvarlamayı bitirdim: public interface IAsyncCache
- 1. RxJs'de "async" filtre operatörünün sürümü var mı?
- 2. Async/
- 3. Async çağrısı için beklemede olan async yöntemini
- 4. her bir sonraki sonuca async async, herWaterfall?
- 5. sürümü
- 6. async yöntemi
- 7. Async Deadlock?
- 8. `async 3.4
- 9. C# Sürümü ve .NET Framework Sürümü?
- 10. Uygulama sürümü içinden uygulama sürümü notları al
- 11. Raylar, Yüklü Gem sürümü ve Gemfile.lock sürümü
- 12. Düğüm Async ve Request, Async beklemiyor ve İstek gönderilmiyor
- 13. NPM güncelleme ben son sürümü için tüm paketleri güncellemek istiyorum son sürümü
- 14. Async yönteminin sonucu
- 15. Task.Factory.StartNew vs Async yöntemleri
- 16. basitçe async yöntemini durdurma
- 17. Android async görevler bekle
- 18. radyo düğmesi async ilanı
- 19. F # async - iki yapının
- 20. Destek eşdeğeri std :: async()
- 21. Argümanlarda geçen Async şelalesi
- 22. async html5 validation
- 23. Async Process Calls
- 24. Async modülü hatası
- 25. async ctp recursion
- 26. Async/Await beklemeden arayın
- 27. Java - Sıralı async yürütmeleri
- 28. Async Görevini Çağırmak
- 29. angular2 async form doğrulaması
- 30. Async HostBinding yönergesi
Bir küçük öneri: [ortak model] 'i (http://msdn.microsoft.com/en-us/library/hh873175.aspx) takip etmek için' Async''deki adları sonlandırın. –