Ngoài việc cung cấp lưu trữ, đối tượng áp dụng cũng đặt ra một số sự kiện mà bạn có thể sử dụng để chạy mã tại các điểm khác nhau trong cuộc đời của một ứng dụng, chẳng hạn như khi nó bắt đầu, khi nó kết thúc, hoặc khi một lỗi xảy ra. Một trong những ứng dụng của những sự kiện này là để khởi tạo các giá trị của các mặt hàng nhà nước áp dụng, như thể hiện trong hình 8-8. Để làm việc với những sự kiện này, đầu tiên bạn thêm một tập tin Global.asax để các dự án như được mô tả trong hình này.
Theo mặc định, file này chứa các khai báo phương thức xử lý sự kiện trong năm như trong các ví dụ trong hình này. Sau đó, bạn có thể thêm mã vào bất kỳ của các xử lý sự kiện. Con số này tóm tắt trong bốn sự kiện mà bạn đang có nhiều khả năng để sử dụng.
Ví dụ trong hình này cho thấy làm thế nào bạn có thể khởi tạo và cập nhật một mục trạng thái phiên có tên HitCount mà theo dõi số lần một phiên mới được bắt đầu với một ứng dụng. Trong ví dụ này, xử lý sự kiện Application_Start lấy số lượng hit count hiện từ một cơ sở dữ liệu và thêm một mục nhà nước ứng dụng có tên HitCount để các đối tượng nhà nước ứng dụng. Tương tự như vậy, xử lý sự kiện Application_End lưu các mục HitCount cơ sở dữ liệu vì vậy nó sẽ được chính xác khi nó được lấy ra trong thời gian tới ứng dụng bắt đầu. Mặc dù lớp HalloweenDB bao gồm các phương pháp được sử dụng để truy xuất và cập nhật các số không được hiển thị ở đây, tất cả các bạn cần phải biết là các phương pháp GetHitCount lấy số hit hiện nay từ các cơ sở dữ liệu như là một giá trị số nguyên, và các phương pháp UpdateHitCount lưu các giá trị số nguyên với cơ sở dữ liệu.
Việc cập nhật các mục HitCount diễn ra trong xử lý sự kiện session_start, mà được nâng lên bất cứ khi nào một phiên người dùng mới bắt đầu. Lưu ý rằng mã đó cập nhật các mục HitCount sử dụng các Khóa và mở khóa các phương thức của đối tượng Application.
Khi bạn đang làm việc với các dữ liệu nhà nước ứng dụng, bạn sẽ muốn khóa các bộ sưu tập nhà nước áp dụng khi bạn sửa đổi bất kỳ dữ liệu của nó. Để giảm thiểu độ dài của thời gian đối tượng trạng thái ứng dụng bị khóa, bạn nên làm càng ít chế biến càng tốt giữa các Khóa và mở khóa các phương pháp.
Nếu bạn không khóa thu nhà nước ứng dụng trong khi đếm được cập nhật, hai hoặc nhiều người dùng có thể truy cập tính cùng một lúc. Để minh họa cho lý do tại sao đó là một vấn đề, chúng ta hãy giả định rằng ba người dùng truy cập vào mục số cùng một lúc khi giá trị của nó là 11. Sau đó, khi mỗi người trong những người sử dụng tăng tính nó sẽ trở thành 12, và đó là những giá trị mà mỗi cửa hàng sử dụng trong Bộ sưu tập nhà nước ứng dụng. Trong trường hợp này, mặc dù, số lượng chính xác nên được 14
đang được dịch, vui lòng đợi..
