Bối cảnh: .Net 3.5, C#
Tôi muốn có cơ chế lưu trong bộ nhớ cache trong ứng dụng Bảng điều khiển của mình.
Thay vì phát minh lại bánh xe, tôi muốn sử dụng System.Web.Caching.Cache
(và đó là quyết định cuối cùng, tôi không thể sử dụng khung bộ nhớ đệm khác, không hỏi tại sao).
Tuy nhiên, có vẻ như System.Web.Caching.Cache
được cho là chỉ chạy trong ngữ cảnh HTTP hợp lệ. My đoạn rất đơn giản như sau:Tôi có thể sử dụng System.Web.Caching.Cache trong ứng dụng Console như thế nào?
using System;
using System.Web.Caching;
using System.Web;
Cache c = new Cache();
try
{
c.Insert("a", 123);
}
catch (Exception ex)
{
Console.WriteLine("cannot insert to cache, exception:");
Console.WriteLine(ex);
}
và kết quả là:
cannot insert to cache, exception: System.NullReferenceException: Object reference not set to an instance of an object. at System.Web.Caching.Cache.Insert(String key, Object value) at MyClass.RunSnippet()
Vì vậy, rõ ràng, tôi đang làm một cái gì đó sai ở đây. Ý tưởng nào?
Cập nhật: +1 với hầu hết các câu trả lời, nhận được bộ nhớ cache thông qua phương pháp tĩnh là sử dụng chính xác, cụ thể là HttpRuntime.Cache
và HttpContext.Current.Cache
. Cảm ơn tất cả!
"nhìn thấy ở đây" liên kết bị phá vỡ –
@ Ron- đó là một lỗi Stackoverflow. Đây là một TinyUrl cho cùng một liên kết- http://tinyurl.com/ms35eu – RichardOD