@super15

Почему не работает AddTransient() в ASP.NET CORE 2.0?

Есть интерфейс
using System;
namespace WebEmpty.Models
{
    public interface IProductRepository
    {
        IEnumerable<Product> Products { get; }
    }
}

И класс, который его реализует
using System;
namespace WebEmpty.Models
{
    public class FakeProductRepository : IProductRepository
    {
        public IEnumerable<Product> Products => new List<Product>
        {
            new Product { Name = "Football", Price = 25 },
            new Product { Name = "Surf board", Price = 179 },
            new Product { Name = "Running shoes", Price = 95 }
        };
    }
}

А так же в методе ConfigureServices файла Startup.cs добавил строчку services.AddTransient<>();
public void ConfigureServices(IServiceCollection services)
        {
            services.AddTransient<IProductRepository, FakeProductRepository>();
            services.AddMvc();
        }

Веб приложение работает, но в методе своего контролера поле repository не заполняется экземпляром FakeProductRepository()
public class ProductController : Controller
    {
        IProductRepository repository;
        public ProductController(IProductRepository repo)
        {
            repository = repo;
        }
        public ViewResult List() => View(repository.Products);
    }


Приложение взято из книги Фримена "ASP.NET Core с примерами для профессионалов", у него работает, у меня нет. Если это связано из-за различий версий, то как это исправить?
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
Jeer
@Jeer
уверенный пользователь
Привет, разобрались? На взгляд всё должно работать, где была ошибка?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 окт. 2020, в 21:13
600 руб./в час
01 окт. 2020, в 19:53
60000 руб./за проект
01 окт. 2020, в 19:40
15000 руб./за проект