Hình 8-7 trình bày các chi tiết để làm việc với dữ liệu nhà nước ứng dụng và bộ nhớ cache. Bảng đầu tiên trong con số này cho thấy các thành viên chung cho cả lớp, trong khi bàn thứ hai và thứ ba cho thấy một số phương pháp cụ thể để các Cache và HttpApplicationState lớp.
Như bạn có thể nhìn thấy từ các ví dụ dưới đây các bảng, các kỹ thuật mà bạn sử dụng để thêm đối tượng đến và lấy lại các mục từ nhà nước ứng dụng và bộ nhớ cache tương tự như các kỹ thuật mà bạn sử dụng để làm việc với các vật phẩm trong trạng thái phiên. Sự khác biệt chính là bạn sử dụng các ứng dụng hoặc Cache tài sản của trang này để truy cập các đối tượng từ một tin mã phía sau, và bạn sử dụng các ứng dụng hoặc Cache tài sản của đối tượng HttpContext cho các yêu cầu hiện tại để truy cập các đối tượng từ một lớp khác hơn một tin mã phía sau.
Tuy nhiên, nếu bạn muốn thiết lập một hết hạn cho một mục mà bạn đang thêm vào bộ nhớ cache, bạn sẽ cần phải sử dụng các phương pháp Insert của đối tượng Cache. Các phương pháp Insert là một phương pháp quá tải, nhưng một trong những bạn sẽ phổ biến nhất sử dụng để thiết lập một thời hạn được thể hiện trong bảng thứ hai trong hình này. Có năm tham số cho phương pháp này.
Các thông số đầu tiên và thứ hai là tên và giá trị của các đối tượng được lưu trữ, cũng giống như với phương pháp Add. Tham số thứ ba là một đối tượng CacheDependency. Trong khi không minh họa ở đây, phụ thuộc bộ nhớ cache cho phép bạn tự động loại bỏ một mục từ bộ nhớ cache khi một cái gì đó nó được kết hợp với những thay đổi. Ví dụ, nếu mục lưu trữ của bạn được kết hợp với một mục trong một cơ sở dữ liệu, các mục lưu trữ có thể được gỡ bỏ khi mục trong những thay đổi cơ sở dữ liệu. Hầu hết thời gian, tuy nhiên, bạn sẽ nhập vào một giá trị null cho tham số này.
Các thông số thứ tư và thứ năm xác định thời gian hết hạn cho các mục lưu trữ. Các tham số thứ tư đặt ra một thời hạn tuyệt đối, chẳng hạn như 20 phút từ bây giờ, trong khi các tham số thứ năm đặt ra một thời hạn trượt, như là 20 phút từ lần cuối cùng những món hàng đã truy cập. Nếu bạn cố gắng để thiết lập một giá trị cho cả hai tham số, bạn sẽ nhận được một lỗi. Thay vào đó, bạn phải thiết lập chỉ có một, và sau đó sử dụng các kiểu liệt kê System.Web.Caching.Cache để thiết lập một giá trị của NoAbsoluteExpiration hoặc NoSlidingExpiration cho các khác, như trong ví dụ cuối cùng trong hình này
đang được dịch, vui lòng đợi..
