Câu hỏi phỏng vấn ASP.NET
Câu hỏi

Các thể hiện của lớp tĩnh có độc nhất cho một...

Câu trả lời

Trong ASP.NET, các thể hiện của lớp tĩnh không độc nhất cho mỗi yêu cầu mà chúng được chia sẻ trên toàn bộ ứng dụng trên máy chủ. Điều này có nghĩa là khi bạn tạo một biến tĩnh, nó sẽ tồn tại và có thể truy cập được bởi tất cả các yêu cầu và người dùng trên cùng một máy chủ. Điều này có thể dẫn đến việc chia sẻ dữ liệu giữa các yêu cầu và người dùng, điều này có thể không mong muốn trong một số trường hợp. Để giải quyết vấn đề này, bạn có thể sử dụng các kỹ thuật khác như sử dụng HttpContext.Current.Items để lưu trữ dữ liệu cụ thể cho mỗi yêu cầu hoặc sử dụng các phạm vi khác như scoped hoặc transient trong dependency injection để đảm bảo rằng các thể hiện của lớp không được chia sẻ giữa các yêu cầu[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20].

Citations:
[1] https://stackoverflow.com/questions/194999/are-static-class-instances-unique-to-a-request-or-a-server-in-asp-net
[2] https://www.reddit.com/r/dotnet/comments/1498lue/how_singleton_lifetime_works_in_aspnet/
[3] https://autofac.readthedocs.io/en/latest/faq/per-request-scope.html
[4] https://www.infoworld.com/article/3601752/singleton-vs-static-classes-in-csharp.html
[5] https://www.c-sharpcorner.com/article/net-core-depedency-inject-with-real-use-case/
[6] https://www.linkedin.com/pulse/introduction-de...

expert

expert

Gợi ý câu hỏi phỏng vấn

junior

Cơ chế Logging trong ASP.NET Core

senior

Có thể tạo ứng dụng web với cả WebFormsMVC không?

middle

Trong lập trình hướng đối tượng (OOP), sự khác biệt giữa Repository PatternService Layer là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào