2011-07-20 20 views
7

Lớp ObjectCache có được bao gồm trong .Net Framework 3.5 không?ObjectCache trong .net Ứng dụng Windows

Nếu không, có cách nào khác để lưu trữ các đối tượng trong bộ nhớ cache, (trong các ứng dụng windows không phải asp.net) không?

Và có ai có bất kỳ tài nguyên trực tuyến hoặc đoạn mã nào chứng minh cách sử dụng lớp ObjectCache không?

Trả lời

3

ObjectCache được giới thiệu trong Khuôn khổ .NET 4. Nếu bạn đang sử dụng khung trước, bạn có thể sử dụng Microsoft Entreprise Library caching.

Tôi không khuyên bạn sử dụng HttpRuntime.Cache vì nó là not intended để được sử dụng bên ngoài các ứng dụng asp.net.

+1

Chỉ cần thêm, bạn cũng có thể sử dụng AppFabric (bộ nhớ đệm cấp doanh nghiệp) hoặc bạn có thể tạo hệ thống bộ nhớ cache của riêng bạn, nhưng tại sao lại phát minh ra bánh xe, phải không? ;-) –

3

là lớp ObjectCache nằm trong khuôn khổ .net 3,5

số

Bạn vẫn có thể sử dụng ASP.NET cache trong một ứng dụng WinForms nếu bạn tham khảo các System.Web lắp ráp:

HttpRuntime.Cache["key"] = "value"; 

và nếu bạn muốn xác định các thuộc tính chi tiết hơn:

HttpRuntime.Cache.Add(
    "key", 
    "value", 
    null, 
    DateTime.MaxValue, 
    TimeSpan.FromSeconds(3), 
    CacheItemPriority.High, 
    new CacheItemRemovedCallback(OnItemRemove) 
); 
+0

Sẽ không sử dụng bộ nhớ cache ASP.net trong ứng dụng WinForms ảnh hưởng đến hiệu suất theo bất kỳ cách nào? cảm ơn –

+0

@Hassan Mokdad, tôi không biết kịch bản của bạn cũng như đối tượng bạn đang cố gắng lưu vào bộ nhớ cache là gì. Càng có nhiều đối tượng, bạn nhớ thêm bộ nhớ sẽ được tiêu thụ. Nhưng bộ nhớ cache này được tối ưu hóa khá tốt nên không có vấn đề gì. –

+0

Cảm ơn, tôi sẽ thử nó –