在我的ASP. NET Core应用程序中,我收到以下错误:
无效操作异常:在尝试激活“城市”时无法解析类型“城市”的服务。模型。IRepository。控制器。HomeController。
我是家庭控制器,我试图将城市的getter传递给视图,如下所示:
public class HomeController : Controller
{
private readonly IRepository repository;
public HomeController(IRepository repo) => repository = repo;
public IActionResult Index() => View(repository.Cities);
}
我有一个文件存储库。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);
}
我的启动类包含从模板生成的默认代码。我做了任何更改:
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)
{
...
}
}
其他答案是正确的,但我正在开发一个新的asp。net core 2.1。x项目,并出现此错误。
结果被我弄错了。
因此,在我的控制器中,而不是像这样正确使用接口
public HomeController(IApplicationRepository applicationRepository)
{
_applicationRepository = applicationRepository;
}
我的输入错误让我使用了应用程序存储库(ApplicationRepository),而不是下面的界面(Application Repository),因此没有错误地发现缺少的“I”很有趣:/
public HomeController(IApplicationRepository applicationRepository)
{
_applicationRepository = applicationRepository;
}
因此,控制器没有解决该问题。。。
我们在实体框架核心数据库优先方法中遇到了这个错误。我遵循以下步骤,错误得到解决
第1步:检查您的上下文类构造函数应该是这样的
public partial class ZPHSContext : DbContext
{
public ZPHSContext(DbContextOptions<ZPHSContext> dbContextOptions)
: base(dbContextOptions)
{
}
}
第2步:在启动文件中
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDbContext<ZPHSContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("BloggingDatabase")));
}
步骤3:appsettings中的连接字符串
"ConnectionStrings": {
"BloggingDatabase": "Server=****;Database=ZPHSS;Trusted_Connection=True;"
}
步骤4:删除上下文类中OnConfigurang方法中的默认代码
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
}
要使依赖注入框架解析IRepository,必须首先在容器中注册它。例如,在ConfigureServices中添加以下内容:
services.AddScoped<IRepository, MemoryRepository>();
对于NET 6默认使用新的托管模型,在程序中添加以下内容。cs替代:
builder.Services.AddScoped<IRepository, MemoryRepository>();
添加作用域仅是服务生命周期的一个示例:
对于web应用程序,作用域生存期表示每个客户端请求(连接)创建一次服务。
有关ASP中依赖项注入的更多信息,请参阅文档。净核心。
我创建了一个。NET核心MVC应用程序,并使用依赖项注入和存储库模式将存储库注入控制器。但是,我得到一个错误: 无法解析类型WebApplication ation1的服务。数据。BloggerRepository'同时尝试激活'WebApplication 1.控制器。BlogController'. 型号(Blog.cs) DbContext(BloggingContext.cs) 存储库(I
我创建了一个.NETCoreMVC应用程序,并使用依赖注入和存储库模式将存储库注入我的控制器。然而,我得到一个错误: 无法解析类型WebApplication1.Data.BloggerRepository的服务,而试图激活WebApplication1.Controllers.BlogController。 存储 库: 控制器: 启动. cs: 我不知道我做错了什么。有什么想法吗?
我正在尝试创建ASP。NET核心应用程序使用通用存储库模式,使用实体框架和服务层。然而,每当我启动项目时,都会遇到以下错误: 无法解析“GameSource”类型的服务。数据存储库。GameRepository“正在尝试激活”GameSource。服务。游戏服务'。 游戏控制器。反恐精英: 游戏服务。反恐精英: 游戏存储库。反恐精英: BaseRepository。反恐精英: GameSource
登录控制器中出现此错误。 无效操作异常:在尝试激活“汽车。服务器。控制器。AuthController”时,无法解析类型为“Microsoft. AspNetCore。身份。UserManager'1[汽车。模型。帐户]”的服务。 这是Auth Controller构造函数: 这里是启动中的ConfigureServices。反恐精英:
我正在创建viewcomponents,下面是我的全部代码。。但当我调用这个viewcomponent时,我得到如下错误。。所以,任何人都可以帮助我解决这个问题,并向我解释到底是什么问题。 错误是: InvalidOperationException:无法解析“Perfulmestore”类型的服务。数据模型。ShoppingCart正在尝试激活香水商店。视图组件。ShoppingCartSumm
问题内容: 因此,我不断在多个服务器上收到此烦人的错误(它是一个警告,因此我将忽略它,但我需要该功能) 警告:curl_setopt()[function.curl- setopt]:启用safe_mode或在第56行的/home/xxx/public_html/xxx.php中设置了open_basedir时,无法激活CURLOPT_FOLLOWLOCATION 我将如何通过SSH解决此问题?