【发布时间】:2018-04-06 09:44:27
【问题描述】:
在我的 ASP.NET Core 应用程序中,我收到以下错误:
InvalidOperationException:尝试激活“Cities.Controllers.HomeController”时无法解析“Cities.Models.IRepository”类型的服务。
我是 HomeController 我正在尝试将 Cities getter 传递给视图,如下所示:
public class HomeController : Controller
{
private readonly IRepository repository;
public HomeController(IRepository repo) => repository = repo;
public IActionResult Index() => View(repository.Cities);
}
我有一个文件Repository.cs,其中包含一个接口及其实现,如下所示:
public interface IRepository
{
IEnumerable<City> Cities { get; }
void AddCity(City newCity);
}
public class MemoryRepository : IRepository
{
private readonly List<City> cities = new List<City>();
public IEnumerable<City> Cities => cities;
public void AddCity(City newCity) => cities.Add(newCity);
}
我的Startup 类包含模板中默认生成的代码。我做了任何更改:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
}
}
【问题讨论】:
标签: c# asp.net-core dependency-injection asp.net-core-mvc