@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 с примерами для профессионалов", у него работает, у меня нет. Если это связано из-за различий версий, то как это исправить?
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 1
Jeer
@Jeer
уверенный пользователь
Привет, разобрались? На взгляд всё должно работать, где была ошибка?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы