Consider this C# code:
4 phương ánCó giải thíchDễ
services.AddTransient<IEmailService, SmtpEmailService>();What happens when IEmailService is requested multiple times?
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "A new instance is created each time it’s requested". AddTransient đăng ký vòng đời Transient: mỗi lần container được yêu cầu IEmailService, dù qua tham số hàm khởi tạo hay qua GetService, nó tạo một SmtpEmailService mới, kể cả hai lần yêu cầu trong cùng một request. "Only one instance is ever created" sai vì đó là hành vi của Singleton đăng ký bằng AddSingleton. "One instance per request is created" sai vì đó là Scoped đăng ký bằng AddScoped, mỗi scope một thể hiện và trong ứng dụng web mỗi request HTTP là một scope. "The DI container throws an exception" sai vì lời đăng ký hoàn toàn hợp lệ, container chỉ báo lỗi khi SmtpEmailService cần một phụ thuộc chưa được đăng ký hoặc khi Singleton bắt giữ dịch vụ Scoped.
Cùng chương 3
Given the code:
builder.Services.AddScoped<IOrderService, OrderService>();
How will OrderService behave?Có lời giảiCâu hỏiservices.AddTransient<ILogger, ConsoleLogger>(); What does this code do?Có lời giảiCâu hỏiWhich of the following is an example of a situation where a Scoped service lifetime would be appropriate?Có lời giảiCâu hỏiCả 20 câu của chủ đề20 câu