Я пытаюсь внедрить Injection Dependency из Core на моем программном обеспечении, чтобы заменить Ninject и обновить все до нашей новой технологии.Проблемы с впрыском зависимостей над MVC
Btw, я сталкиваюсь с проблемой на некоторых интерфейсах, которые являются общими. Для таких случаев я получаю прямо Исключение, что инжектор не смог создать экземпляр моего класса.
Я вставил над небольшим фрагментом образца, который меня поджег.
services.AddTransient(typeof(IRepository), typeof(MyRepository<,>))
Правильно ли это? Как я могу это сделать? Реализация
Класс:
public class MyRepository<TEntity, TContext> : IRepositoryBase
where TEntity : class
where TContext : IDbContext, new()
{
...
}
Интерфейс:
public interface IRepository : IDisposable
{
...
}
Спасибо!
Вот как я делаю с моим внедрение зависимости хранилищ в ядре: services.AddScoped(); –
lucas
Существует четкое различие между вашим (Лукасом) и OP. Обратите внимание на открытые дженерики. Вы все еще используете фреймворк DI в ядре, ядро просто предоставляет некоторые интерфейсы, чтобы легко подключить его. –
Я все равно продолжаю удалять Ninject и добавлять что-то вроде Autofac, StructureMap или LightInject. Но в документации указано, что существует очень ограниченный набор функций, и я не думаю, что это распространяется на открытые дженерики. Мне нравится структура структуры из-за ее сборки на основе сборки на основе протоколов –