Các điều khiển trên trang có thể yêu cầu mã hóa đó được sử dụng cho ViewState, nhưng ngay cả yêu cầu này cũng có thể bị ghi đè bởi cài đặt trang.
Điều tra ViewStateEncryptionMode có ba giá trị: Tự động, Luôn luôn và Không bao giờ. Giá trị mặc định là Tự động.
ViewStateEncryptionMode.Auto
Trong chế độ này, ASP.NET sẽ mã hóa các ViewState cho một trang nếu có kiểm soát trên trang yêu cầu nó. Lưu ý rằng điều này có nghĩa là tất cả các ViewState được mã hóa, không chỉ là ViewState cho điều khiển yêu cầu nó. Phần lớn chi phí hiệu năng được liên kết với mã hóa là ở trên đầu. Vì vậy, mã hóa toàn bộ ViewState nhanh hơn so với thực hiện các hoạt động mã hóa riêng biệt nếu nhiều hơn một điều khiển đưa ra yêu cầu.
ViewStateEncryptionMode.Never
Như bạn mong đợi, trong chế độ này ASP.NET sẽ không mã hóa các ViewState, ngay cả khi ứng dụng được thiết lập cho việc mã hóa và điều khiển trên trang đã yêu cầu nó. Nếu bạn biết rằng không có dữ liệu nào liên quan đến trang cần được mã hóa, thì có thể an toàn để đặt chế độ thành Không bao giờ. Tuy nhiên, tại thời điểm này, hiếm khi tài liệu về kiểm soát tiết lộ những gì đang được lưu trong ViewState, vì vậy bạn sẽ cần phải cẩn thận nếu có cơ hội dữ liệu nhạy cảm có thể bị lộ.
ViewStateEncryptionMode.Always
Trong chế độ này, ASP.NET không chờ đợi một điều khiển trong trang để yêu cầu mã hóa. ViewState luôn được mã hóa. Khi làm việc với dữ liệu nhạy cảm, cách tốt nhất là sử dụng mã hóa.
Nguồn: http://msdn.microsoft.com/en-us/library/aa479501.aspx
Nguồn
2008-12-04 22:12:18