Web application state

Cookie

Lưu trữ thông tin trong trình duyệt của người dùng. Trình duyệt đính kèm cookie trong mỗi request. Vì thế thông tin lưu trong cookie nên tối thiểu. Phần lớn kích thước cookie là 4KB và có số lượng hạn chế cho mỗi domain. Cookie có thời hạn sử dụng.

Thường lưu thông tin cơ bản, không quan trọng như theme name.

Với ASP.NET CORE và C#.

Query string

Có giới hạn kích thức query string và tùy thuộc trình duyệt

Hidden Fields

TempData

TempData được implemented giựa trên cookie hay session state. Truyền data qua các actions, views.

TempData.Keep() hay TempData.Peek()

ViewData/ViewBag

Truyền data từ action lên view.

Session state

Trong ASP.NET Core, session state dùng để lưu trữ dữ liệu user trong khi sử dụng ứng dụng. Nó cùng một store được quản lý bỡi application để persist data qua các request từ một client. Thường cache thông tin quan trọng trong session để tối ưu hiệu năng.

ASP.NET Core quản lý session state vỡi cung cấp một cookie cho client, cookie này lưu một session ID.

Vài lưu ý khi làm việc với session:

Cấu hình session state trong ConfigureServices(), enable session state trong Configure() trong Startup.cs. Thứ tự cấu hình là quan trọng: UseSession() trước UseMVC().

HttpContext.Session