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

.NET 8.0 InvalidOperationException:依赖注入IBookingData服务失败求助

解决.NET 8 Blazor中InvalidOperationException:无法解析IBookingData泛型服务的问题

排查步骤及解决方案:

  • 检查命名空间冲突
    错误提示中提到的BerHUB_reverse.Components.Pages.Booking和你注册的BerHUB_reverse.Models.Booking是两个不同的类型。确认CreateBookingPage.razor中注入的Booking是否误引用了页面命名空间下的类:

    • 临时修改注入代码,使用全命名空间验证:@inject IBookingData<BerHUB_reverse.Models.Booking> bookingData,如果能正常运行,说明存在命名空间冲突。
    • 检查页面顶部的@using指令,是否误引入了BerHUB_reverse.Components.Pages,导致Booking被解析为页面类而非模型类。
  • 验证服务注册的准确性
    确保Program.cs中的注册代码没有拼写错误,且泛型参数完全匹配:

    builder.Services.AddScoped<IBookingData<BerHUB_reverse.Models.Booking>, BookingData>();
    

    同时确认BookingData类确实实现了IBookingData<BerHUB_reverse.Models.Booking>,而非其他泛型参数的接口版本。

  • 清理项目缓存
    VS的编译缓存可能导致类型解析异常,执行以下操作:

    • 右键项目 → 清理
    • 手动删除项目根目录下的bin和obj文件夹
    • 重新生成项目
  • 检查泛型接口及实现的定义
    确保IBookingData<T>接口的泛型约束正确,且实现类的泛型参数完全匹配:

    // 接口定义
    public interface IBookingData<T> where T : class
    {
        // 接口方法
    }
    
    // 实现类
    public class BookingData : IBookingData<BerHUB_reverse.Models.Booking>
    {
        // 实现代码
    }
    

内容的提问来源于stack exchange,提问作者jamie.tsc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 11:36:00