Cach su dụng contam software

State Management

Ở bài viết này bản thân sẽ chỉ ra rằng cụ thể về phong thái Session State được thống trị cũng tương tự các biện pháp nó được quản lý sinh sống ASP.NET

Hãy bắt đầu. Trước tiên bọn họ yêu cầu phát âm tại vì sao họ yêu cầu duy trì state của ứng dụng với tại vì sao lại bắt buộc cai quản state kia. Như họ biết, vận dụng web của bọn họ là "Stateless", nói theo cách khác 1 instance của web page class được sản xuất lại (recreated) những lần page gửi request cho tới hệ thống. HTTP là 1 cách tiến hành stateless với nó quan yếu giữ lại ban bố của client trên page. Ví dụ, giả dụ user chèn 1 số ít thông tin vào 1 page với tiếp nối đi lịch sự page không giống, thì data được ckém vào kia có khả năng sẽ bị mất, user tất yêu đem được ban bố đó.Quý khách hàng sẽ xem: Cách sử dụng session vào mvc

Vì vậy cơ phiên bản ở đây chúng ta đề nghị 1 cái nào đấy để giữ state của vận dụng. Đây đó là trọng trách chính của "session state". Đơn giản 1 session là 1 trong vươn lên là được áp dụng thân client với server nhưng được lưu trữ phía server. Nó hoàn toàn có thể được lưu giữ bên trên IIS hệ thống by mặc định ("inproc" mode) hoặc nó rất có thể lưu giữ ở stateVPS hoặc SQL Server ("outproc" mode). Chúng ta vẫn bàn về cả hai, "inproc" và "outproc" mode cụ thể làm việc ngay phần tiếp sau đây.

Bạn đang xem: Cach su dụng contam software

Vậy là session giúp bọn họ duy trì state và data của user trong suốt áp dụng bằng phương pháp lưu những báo cáo kia bên trên VPS memory. Bên cạnh đó 1 session hoàn toàn có thể lưu bất cứ công bố bên trên VPS side và có thể truy cập tiện lợi vào tổng thể áp dụng web.

Bây giờ hãy xem toàn cảnh xảy cho của state và data của một user được duy trì như thế nào trong session state. Đầu tiên Khi user request mang lại application hay như là 1 page, "Application" bắt đầu fire event vào get state cùng application object cất session state được mô tả vào toàn bộ vận dụng web. Mỗi object được giữ trong application cơ bản theo dạng Key Value. Lúc một user request mang lại trang thì session đang trả về 1 data khác, khi 1 user khác request cho thì nó cũng trả về data khác, vày cơ bạn dạng data đựng 2 user này là 2 key khác biệt. Để coi những event fires lúc ứng dụng được khởi chế tạo ra và thông tin session, thử xem làm việc "Global.asax" lúc ứng dụng ban đầu.

Quá trình gia hạn session state được diễn tả như sau đây. Đầu tiên client truy cập vào trang web cùng ban bố được giữ trong session. Sau kia 1 Session table được tạo thành mang định bên trên IIS Server với những ID của session của các user gạnh thăm trang sẽ tiến hành lưu luôn bên trên Server. Và lần cho tới khi client đòi hỏi 1 vài ban bố tương ứng cùng với session ID tự phía server, server sẽ kiếm tìm vào session provider và trả về thông tin session.


*

FIG: PROCESS FOR MAINTAINING THE SESSION STATE IN THE APPLICATION

Bây giờ đồng hồ hãy xem cách giữ với dấn data vào session.

Storing and retrieving data from session

Đoạn code dưới đây dùng để làm lưu và dấn data sống session

// Storing Username in session.Session = txtUser.Text; // Retreiving values from session.// Cheông xã whether session variable null or not if(Session != null) // Retreiving UserName from session lblWelcome.text = "Welcome: +Session; else //Do something else Như chúng ta biết thì các quý giá này sẽ tiến hành mang định giữ cùng nhận trường đoản cú session bên trên IIS serverBây tiếng để sở hữu nỗ lực thông số kỹ thuật website chạy load balance, chúng ta cần loại trừ đi vấn đề giữ Session bên trên IIS Server. Vì vậy họ cần "outproc" mode. Chúng ta sẽ so sánh "inproc" cùng "outproc" khác biệt ra sao Khi thống trị state.


*

FIG: INPROC AND OUTPROC MODES IN SESSION STATE AND THEIR RESPECTIVE STATE PROVIDERS

InProc Session Mode in Session State


*

FIG: INPROC SESSION MODE

Đây là chính sách làm chủ session default sinh sống ASP..NET. Nó lưu báo cáo session sinh hoạt bộ nhớ memory vào hệ thống ứng dụng IIS. Vì vậy nó rất mau lẹ, thuận tiện cùng cân xứng tuyệt nhất với performance của website application, dẫu vậy điểm yếu lớn số 1 nguyên nhân là tất cả công bố được tàng trữ trên hệ thống side trong thuộc 1 domain application, nếu như bạn khởi hễ lại VPS, tất cả data session của user sẽ bị mất. Khi client request data, State Provider phát âm tất cả data tự object in-memory và trả về client. Trong web.config, chúng ta buộc phải chỉ rõ ràng session mode và timeout.

Xem thêm: Hướng Dẫn Tải Sub Trên Youtube Và Download Sub Cực Đơn Giản


*

Advantages

DisadvantagesMặc dù lý lẽ "InProc" dùng làm lưu trữ session là nkhô hanh nkhô giòn, được sử dụng những và là default, cơ mà nó có nhiều điểm vô ích nhỏng sau:

Nếu worker process hoặc tên miền vận dụng bị recycled (khởi đụng lại), tất cả session data sẽ ảnh hưởng mất.Mặc dù nó nkhô giòn, nhưng lại các tài liệu session cùng các user hoàn toàn có thể tác động phệ đền rồng performance, trường hợp bộ nhớ lưu trữ RAM của dòng sản phẩm chủ không đủ mập.

Vậy chúng ta có thể Kết luận là "InProc" mode tất cả ưu thế là tàng trữ với nhận data session hơi nhanh khô và dễ ợt cho việc cải cách và phát triển áp dụng website bé dại. Nhưng InProc session data có thể bị mất ví như chúng ta khởi cồn lại hệ thống, Hoặc là application domain bị recycled. Nó cũng không phù hợp cùng với quy mô Web Farm giỏi Web Garden.

Bây giờ đồng hồ họ vẫn để ý với cùng một option không giống để giải quyết điểm yếu kém của InProc mode. Giải pháp đầu tiên chính là StateServer mode.

State Server Mode (OutProc Mode)


*

FIGURE: STATE SERVER MODE IN SESSION STATE

StateServer có cách gọi khác là Out-Proc session mode. StateServer sử dụng 1 Windows Service đơn lẻ độc lập với IIS cùng rất có thể chạy xe trên 1 server đơn nhất. Session state tại chỗ này hoàn toàn được cai quản bởi vì aspnet_state.exe. Server này rất có thể chạy trên cùng hệ thống cùng với website VPS, mà lại nó ở không tính vùng tác động của application domain name địa điểm cơ mà web application đang chạy. Điều này có nghĩa nếu như khách hàng khởi rượu cồn lại ASPhường.NET process, session data của doanh nghiệp vẫn còn sống đó, không bị mất nhỏng nghỉ ngơi InProc mode. Việc thực hiện OutProc bao gồm điểm bất lợi là nên serialization cùng deserialization các data thân stateServer application tên miền, các lần user muộn dấn session data, application cần chạy 1 process khác để access session data.

Configuration for StateServer session mode

Trong StateServer mode, session data được tàng trữ ở một server lẻ tẻ, độc lập với IIS cùng dược hanlde vị aspnetstate.exe. Process này được chạy như 1 Windows Service. Bạn có thể chạy service này tự Windows MMC hoặc từ command prompt.

Mặc định thì "Startup Type" của ASP.NET state service được set là Manual, họ buộc phải set mang lại nó chạy Automatic.

Xem thêm: Mua Hoa Cúc Họa Mi Ở Đâu Hà Nội (Địa Chỉ + Giá Vé), * Du Lịch Số


Từ comm& prompt, gõ "net start aspnet_state". Mặc định, service này lắng nghe TCP. làm việc cổng 42424, nhưng chúng ta cũng có thể đổi port trường đoản cú Registry editors nhỏng hình bên dưới đây:

Kết luậnHi vọng nội dung bài viết bổ ích cho chúng ta đã gặp gỡ vụ việc về cai quản State bằng Server State.

Happy Learning! Bài viết xem thêm trường đoản cú nguồn https://www.c-sharpcorner.com/UploadFile/484ad3/session-state-in-Asp-Net/


Chuyên mục: Kiến thức