Basit bir tabloyu, tüm kullanıcıların paylaşacağı ASP.NET'teki sunucuda bellekte depolamanın basit bir yolu var mı? Örneğin basit bir sohbet programım var ve sadece son 100 kaydı hafızada tutmak istiyorum (bu gerçek bir uygulama değil, sadece bir örnek). Sadece 100 kayıt içeren bu sohbet tamponu olmaya adanmış SQL'de bir tablonun olmasını istemediğimi varsayalım. Bellek içi veri tablosu oluşturabilmem ve bağlı kullanıcılar arasında paylaşabileceğim bir yol var mı?Basit bir tabloyu ASP.NET'te bellekte saklar mı?
cevap
Kullanım Cache (MSDN)
Bir örnek uygulama alanı başına oluşturulur ve bunun sürece uygulama alanı açık kaldığı sürece geçerli kalır. Bu sınıfın bir örneği hakkında bilgi, HttpContext nesnesinin Cache özelliği veya Sayfa nesnesinin Cache özelliği aracılığıyla edinilebilir.
DataTable yourDataTable = new DataTable();
Cache["yourTable"] = yourDataTable;
//to access it
DataTable dt = Cache["yourTable"] as DataTable;
Tüm kullanıcılar için bellek ve accesable şeyler saklamak için HttpApplicationState
nesneyi kullanabilirsiniz: Burada
HttpContext.Current.Cache["MyTable"] = myTable;
var a: (daha parçacığı güvenli olduğu)
HttpContext.Current.Application["MyTable"] = myTable;
Ya Cache
nesne Application and Cache hakkında iyi makale.
Önbellek ve Uygulama nesneleri oturum nesnesi daha geniş kapsamı sağlar ve veri ASP.NET uygulama içinde bütün sınıfları için kullanılabilir. Bu sınıfın
Evet, bu küresel önbellek olacaktır. Bunu yapmanın aşağı ve kirli yolu, değerleri depolamaktır Uygulama durumu. Temelde IIS çalıştıran sürece her zaman olduğu anahtar değer deposu.
Application["someKey"} = SomeObject;
bunu
var myObject = Application["someKey"];`
çok daha şık çözümler vardır aynı şekilde `erişebilir, ancak bir miktar veri depolamak için gereken zaman, basit küresel şeyler için sizi alacak.
birçok seçenek, uygulama Önbellek tüm kullanıcılar arasında paylaşılıyor ve aynı ASP.NET uygulama havuzunun içindeki tüm oturumları, burada kontrol edin:
http://msdn.microsoft.com/en-us/library/6hbbsfk6(v=vs.100).aspx
başka seçenek bellekte bir kullanımı olabilir/gömülü veritabanı, gerçekten bir db gibi bir yaklaşım kullanmak istiyorsanız, SQL Server veya SQL Lite gibi bir şey.
- 1. sql server bir seçkinin sonucunu saklar mı?
- 2. iphone UIWebView geçerli kaydırma konumunu saklar mı?
- 3. WPF - Bellekte UIElement'in boyutunu aldınız mı?
- 4. Paketleyici mücevherleri nerede saklar?
- 5. Node.js arabellekleri nerede saklar?
- 6. [] İmha makinelerini çağırdıktan sonra [] bir bellekte belleği ayırır mı?
- 7. GoLang - Yansıtılan kodun kullanımını bellekte kullanmanın bir yolu var mı?
- 8. tabloyu bir şemadan başka bir şemaya taşıyın mı?
- 9. Eclipse, userdir içinde * ayarları ve eklentileri * saklar mı?
- 10. Tabloyu
- 11. Scala derleyici AST'leri nerede saklar?
- 12. Laravel'de bir tabloyu kırpın
- 13. C - bellekte dosya oluştur
- 14. DBML tasarımcısında tabloyu hızlı bul (ara) tabloyu?
- 15. Tensorflow modellerinin bellekte saklanması
- 16. Basit bir PhoneGap öğreticisi var mı?
- 17. başka bir tablodan tabloyu doldurun
- 18. Matplotlib'de bir tabloyu nasıl yerleştirebilirim?
- 19. Bu tabloyu kapaBu tabloyu aç Alıntı sayısı
- 20. Bellekte tek bir nesnenin boyutunu bulma
- 21. Pthread muteksleri, paylaşılan bellekte iş parçacıkları boyunca çalışır mı?
- 22. GWT'de basit köprü var mı?
- 23. PHP'de basit kullanım var mı?
- 24. Veri boyutu bellekte diskte
- 25. nodejs bellekte kaldı
- 26. Geçerli bellekte parçalanma hatası
- 27. UIWebView HTML5 çevrimdışı dosyaları nerede saklar?
- 28. bellekte panik var
- 29. Dinamik bellekte yeni. realloc();
- 30. JavaScript null değerlerini dahili olarak nasıl saklar?
neden bir tablo olması gerekiyor? Basit bir statik statik 'hakkında ne dersiniz? –
paul