Câu hỏi phỏng vấn Net core
Câu hỏi

Làm thế nào bạn có thể tạo Scope của riêng bạn cho một đối tượng Scoped trong .NET?

Câu trả lời

Để tạo Scope của riêng bạn cho một đối tượng Scoped trong .NET, bạn cần sử dụng IServiceScopeFactory để tạo một scope mới. IServiceScopeFactory là một dịch vụ được đăng ký tự động trong container dịch vụ của .NET và nó cho phép bạn tạo ra các scope tùy chỉnh. Dưới đây là các bước để tạo một scope mới và sử dụng một đối tượng Scoped bên trong nó:

  1. Tiêm IServiceScopeFactory vào lớp hoặc phương thức nơi bạn muốn tạo scope mới.
  2. Sử dụng IServiceScopeFactory để tạo một IServiceScope mới.
  3. Từ IServiceScope mới này, bạn có thể lấy ra IServiceProvider và sử dụng nó để lấy các dịch vụ Scoped.
  4. Khi bạn hoàn thành công việc với các dịch vụ Scoped, hãy đảm bảo giải phóng scope bằng cách gọi phương thức Dispose trên IServiceScope.

Dưới đây là một ví dụ về cách tạo và sử dụng một scope mới:

csharp Copy
public class...
middle

middle

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

middle

Trình biên dịch JIT (Just-In-Time) trong .NET Core là gì?

middle

Làm thế nào bạn có thể tạo Scope riêng cho một đối tượng Scoped trong .NET?

senior

Khi sử dụng DI (Dependency Injection) trong Controller, tôi có nên gọi IDisposable trên bất kỳ dịch vụ nào được inject không?

Bình luận

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

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