Sự khác biệt giữa SessionState và ViewState là gì?


Câu trả lời:


143

Trạng thái phiên chứa thông tin liên quan đến một phiên cụ thể (bởi một máy khách / trình duyệt / máy cụ thể) với máy chủ. Đó là một cách để theo dõi những gì người dùng đang làm trên trang web .. trên nhiều trang ... trong tình trạng không trạng thái của Web. ví dụ: nội dung của giỏ hàng của một người dùng cụ thể là dữ liệu phiên. Cookie có thể được sử dụng cho trạng thái phiên. Mặt khác,
View State là thông tin dành riêng cho trang web cụ thể. Nó được lưu trữ trong một trường ẩn để người dùng không nhìn thấy nó. Nó được sử dụng để duy trì ảo tưởng của người dùng rằng trang ghi nhớ những gì anh ta đã làm trên trang đó lần trước - không cho anh ta một trang sạch sẽ mỗi khi anh ta đăng lại. Kiểm tra trang này để biết thêm .


96

Trạng thái phiên được lưu trên máy chủ, ViewState được lưu trong trang.

Trạng thái phiên thường bị xóa sau một khoảng thời gian không hoạt động từ người dùng (không có yêu cầu nào xảy ra có chứa id phiên trong cookie yêu cầu).

Trạng thái xem được đăng trên bài đăng tiếp theo trở lại trong một trường ẩn.


30
+1 Có - điểm quan trọng là ViewState di chuyển lên xuống giữa máy khách và máy chủ, nhưng SessionState vẫn ở trên máy chủ.
Gordon Mackie JoanMiro

1
Đây lẽ ra phải là câu trả lời chính thức
Fandango68

33

SessionState

  • Có thể được duy trì trong bộ nhớ, điều này làm cho nó trở thành một giải pháp nhanh chóng. Có nghĩa là trạng thái không thể được chia sẻ trong Trang trại web / Vườn web.
  • Có thể được duy trì trong Cơ sở dữ liệu, hữu ích cho Trang trại web / Vườn web.
  • Được xóa khi phiên ngừng hoạt động - thường sau 20 phút không hoạt động.

ViewState

  • Được gửi qua lại giữa máy chủ và máy khách, chiếm băng thông.
  • Không có ngày hết hạn.
  • Hữu ích trong Trang trại web / Vườn web

14

Cách sử dụng: Nếu bạn định lưu trữ thông tin mà bạn muốn truy cập trên các trang web khác nhau, bạn có thể sử dụng SessionState

Nếu bạn muốn lưu trữ thông tin mà bạn muốn truy cập từ cùng một trang, thì bạn có thể sử dụng Viewstate

Lưu trữ Dạng xem được lưu trữ trong chính trang đó (trong văn bản được mã hóa), trong khi Dạng phiên được lưu trữ trong máy chủ.

SessionState sẽ xóa trong các điều kiện sau

  1. Do lập trình viên xóa
  2. Do người dùng xóa
  3. Hết giờ

5
ViewStates không được mã hóa. Chúng chỉ nhìn theo cách đó, nhưng có thể dễ dàng giải mã.
Vandel212

5

Phiên được sử dụng chủ yếu để lưu trữ dữ liệu người dùng cụ thể [dữ liệu phiên cụ thể]. Trong trường hợp của phiên, bạn có thể sử dụng giá trị cho cả phiên cho đến khi phiên hết hạn hoặc người dùng bỏ qua phiên. Viewstate là loại dữ liệu chỉ có phạm vi trong trang mà nó được sử dụng. Bạn không thể có các giá trị trạng thái xem có thể truy cập vào các trang khác trừ khi bạn chuyển các giá trị đó sang trang mong muốn. Cũng trong trường hợp của viewstate, tất cả dữ liệu điều khiển phía máy chủ được chuyển đến máy chủ dưới dạng cặp giá trị khóa trong __Viewstate và được chuyển trở lại và hiển thị cho điều khiển thích hợp trong máy khách khi quá trình đăng lại xảy ra.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.