You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

遇到InvalidOperationException:无法解析DriverRepository服务的问题求助

异常排查:InvalidOperationException 无法解析DriverRepository服务

问题原因

你注册服务时使用的是接口与实现类的映射:

builder.Services.AddScoped<IDriverRepository, DriverRepository>();

这意味着依赖注入(DI)容器仅注册了IDriverRepository接口的服务,并未直接注册DriverRepository具体类。但你的DriverAccountsModel构造函数中,直接请求注入具体类DriverRepository,DI容器找不到对应的服务注册,因此抛出InvalidOperationException。

修复方案

修改DriverAccountsModel的构造函数,将注入参数改为IDriverRepository接口类型:

public class DriverAccountsModel : PageModel
{
    public IHttpContextAccessor HttpContextAccessor { get; }
    public IDriverRepository DriverRepository { get; }

    // 将构造函数参数改为接口类型
    public DriverAccountsModel(IHttpContextAccessor 
        httpContextAccessor,
        IDriverRepository driverRepository)
    {
        HttpContextAccessor = httpContextAccessor;
        DriverRepository = driverRepository;
    }

    public List<DriverAccounts> results;
    public IActionResult OnGet()
    {
        var results = DriverRepository.GetAll();
        return Redirect("DriverAccounts");
    }

    public IActionResult OnPost(int id, Models.DriverAccounts driverAccounts)
    {
        return Redirect("DriverAccounts");
    }
}

额外验证

确认DriverRepository类已正确实现IDriverRepository接口的所有成员,避免因接口未实现导致的其他注入问题。

内容的提问来源于stack exchange,提问作者user123456

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 08:06:52