Tôi đang sử dụng Microsoft's Unity để chèn phụ thuộc và tôi muốn làm điều gì đó như sau:
IDataContext context = _unityContainer.Resolve<IDataContext>();
var repositoryA = _unityContainer.Resolve<IRepositoryA>(context); //Same instance of context
var repositoryB = _unityContainer.Resolve<IRepositoryB>(context); //Same instance of context
IDataContext context2 = _unityContainer.Resolve<IDataContext>(); //New instance
var repositoryA2 = _unityContainer.Resolve<IRepositoryA>(context2);
RepositoryA
và RepositoryB
cả hai đều có một phương thức khởi tạo nhận IDataContext
tham số và tôi muốn Unity khởi tạo kho lưu trữ với ngữ cảnh mà tôi truyền nó. Cũng lưu ý rằng IDataContext
không được đăng ký với Unity (tôi không muốn 3 trường hợp của IDataContext
).