Xét giao diện và lớp định nghĩa sau đây:Asp.Net Core: đăng ký thực hiện với nhiều giao diện và lối sống Singleton
public interface IInterface1 { }
public interface IInterface2 { }
public class MyClass : IInterface1, IInterface2 { }
là có cách nào để đăng ký một ví dụ của MyClass
với nhiều giao diện như thế này:
...
services.AddSingleton<IInterface1, IInterface2, MyClass>();
...
và giải quyết các trường hợp duy nhất này của MyClass
với giao diện khác nhau như thế này:
IInterface1 interface1 = app.ApplicationServices.GetService<IInterface1>();
IInterface2 interface2 = app.ApplicationServices.GetService<IInterface2>();
Một cách thứ ba sẽ được: 'services.AddSingleton(); ' ' services.AddSingleton (x => x.GetService ());' Sau đó, bạn không cần phải tạo ra các lớp một mình. –