Phiên so với ViewState
ViewState và phiên là hai trong số các giải pháp cho các sự cố trong ứng dụng web. Vấn đề liên quan đến một người dùng máy tính truy cập một trang web trong một khoảng thời gian cụ thể. Sau một thời gian sử dụng hoặc sau khi người dùng đóng ứng dụng, thông tin và quyền truy cập của trang web sẽ bị xóa khỏi nhật ký sử dụng gần đây.
ViewState chỉ hợp lệ trong thời gian gửi lại và chỉ áp dụng cho dữ liệu nối tiếp. ViewState, đầu tiên và quan trọng nhất, là đối tượng / kiến trúc cho phép các điều khiển Web duy trì giá trị của chúng giữa các postback. Giống như phiên, ViewState có thể chạy và có thể truy cập vào máy chủ.
Thông tin trong ViewState chỉ được lưu trữ cho máy khách dưới dạng giá trị được mã hóa trong các trường ẩn của trình duyệt. Điều này làm cho dữ liệu không được bảo mật và có thể bị hack. Trong quá trình gửi lại, ViewState theo dõi các thay đổi trong một trang web cụ thể.
ViewState cũng giữ lại giá trị kiểm soát cho trang cụ thể. Điều này có nghĩa là dữ liệu trên một trang không và không thể có sẵn, được truy cập hoặc sao chép vào một trang khác. ViewState được duy trì ở cấp độ trang hoặc hiện tại, trang trực tiếp. Nó không có điểm hết hạn và có thể được bật hoặc tắt trong ViewState cho các điều khiển cụ thể.
ViewState có thể được nhìn thấy khi xem mã nguồn của trang kéo dài cho đến khi trang được đóng lại. ViewState chủ yếu được sử dụng để chứa một lượng nhỏ dữ liệu (thường là một chuỗi và dữ liệu nối tiếp khác) trên trang hiện tại. Ngoài ra, ViewState tiêu thụ nhiều băng thông hơn so với phiên nhưng ít bộ nhớ và dung lượng bộ nhớ hơn. ViewState không liên quan đến quá nhiều bộ nhớ vì tất cả dữ liệu bị mất ngay khi trang bị đóng.
Trong khi đó, phiên được sử dụng phổ biến hơn cho các trang Web và không chỉ ảnh hưởng đến trang mà toàn bộ ứng dụng và toàn bộ thời lượng của người dùng sử dụng trình duyệt hoặc trang cụ thể đó. Phiên là hợp lệ cho bất kỳ loại đối tượng và được lưu trữ trong bộ nhớ máy chủ của trình duyệt. Dữ liệu mà nó lưu giữ là dữ liệu của người dùng máy tính hay nói cách khác là dữ liệu cụ thể của người dùng. Dữ liệu có sẵn cho đến khi người dùng đóng ứng dụng trình duyệt hoặc phiên hết hạn.
Không giống như trong ViewState, dữ liệu trong phiên có thể được truy cập hoặc sao chép vào một cửa sổ hoặc trang khác trong phiên. Phiên cũng không có khả năng vô hiệu hóa hoặc kích hoạt các điều khiển cụ thể. Phiên cũng liên quan đến các loại dữ liệu khác nhau sẽ được lưu trữ trong thùng chứa bộ nhớ của nó. Phiên cũng có bộ nhớ lớn hơn so với ViewState vì nó sử dụng bộ nhớ máy chủ. Nhược điểm của điều này là phiên có thời gian hết hạn và số lượng dữ liệu được lưu trữ trong bộ nhớ máy chủ có thể ảnh hưởng đến thời gian tải máy chủ.
Tóm lược:
1. Bên cạnh ViewState và phiên, các giải pháp ASP.NET khác bao gồm các biến ứng dụng, bộ đệm và cookie. 2.ViewState và phiên có thể chạy và có thể truy cập trong môi trường máy chủ.
3.ViewState được sử dụng ở phía máy khách trong khi phiên được sử dụng ở phía máy chủ. Ở bên khách hàng khiến ViewState không hết hạn. Ngược lại (hết hạn và ở phía máy chủ) là cho phiên.
4.ViewState chỉ có thể chứa một chuỗi hoặc dữ liệu tuần tự trong khi phiên có thể chứa nhiều loại dữ liệu. Điều này làm cho lượng dữ liệu trong ViewState nhỏ hơn nhiều so với phiên.
5.Session có thể sao chép hoặc truy cập dữ liệu vào một trang hoặc cửa sổ mới trong khi ViewState không có khả năng của tính năng này.
6.Session lưu trữ dữ liệu của nó trong bộ nhớ máy chủ trong khi ViewState ẩn dữ liệu của nó trong các trường ẩn của trình duyệt dưới dạng dữ liệu được mã hóa. 7.So bộ nhớ máy chủ chứa các loại dữ liệu khác nhau, một lượng lớn dữ liệu được lưu trữ có thể ảnh hưởng đến tải máy chủ.