У меня проблема с контейнером Unity в приложении WPF.Я использую Prism с UnityBootstrapper.Мне нужно зарегистрировать класс как синглтон.Это класс:
public class RepositoryBase<T> : IRepository<T> where T : class, new()
{
private string connectionString;
public RepositoryBase(string conne)
{
connectionString = conne;
}
public async Task<List<T>> Get()
{
var db = GetDbConnection();
var value = await db.GetAllWithChildrenAsync<T>(recursive: true);
CloseDatabaseConnection(db);
return value;
}
}
В загрузчике я регистрирую вышеуказанный тип следующим образом:
protected override void ConfigureContainer()
{
var assemblyLocation = System.Reflection.Assembly.GetExecutingAssembly().Location;
var path = System.IO.Path.GetDirectoryName(assemblyLocation);
path = Path.Combine(path, "Data.db3");
Container.RegisterType(typeof(IRepository<>), typeof(Data.RepositoryBase<>), new ContainerControlledLifetimeManager(), new InjectionConstructor(path));
base.ConfigureContainer();
}
Однако, если я помещаю точку останова в конструктор класса RepositoryBase,Я вижу, как он ломается несколько раз.Кто-нибудь может увидеть, что я делаю не так?