【问题标题】:Blazor Some services are not able to be constructedBlazor 部分服务无法构建
【发布时间】:2020-02-04 15:50:27
【问题描述】:

您好,我是 Blazor 的新手,似乎无法弄清楚为什么我不断收到此错误:AggregateException:无法构造某些服务(验证服务描述符时出错'ServiceType:TranactionJournalV4.Data.SearchService Lifetime : Singleton ImplementationType: TranactionJournalV4.Data.SearchService': 尝试激活“TranactionJournalV4.Data.SearchService”时,无法解析“TranactionJournalV4.Data.SqlDbContext”类型的服务。)

这是我创建的 SearchService,它需要输入日期并搜索我的数据库

 public class SearchService
    {
        private readonly SqlDbContext _context;

        public SearchService(SqlDbContext context)
        {
            _context = context;
        }
        [HttpGet]
        [Route("search")]
        public async Task<List<TransactionModel>> SearchTransactionsAsync(DateTime transactionDate)
        {
            return await _context.TransactionJournal.Where(s => s.TransactionDateTime.Date <= transactionDate.Date).ToListAsync();
        }
    }
}

我们将不胜感激任何朝着正确方向的推动

【问题讨论】:

  • SearchService的生命周期是多少(即请提供DI容器中的注册码)?
  • @boindiil 这是我在 di 容器 services.AddSingleton();除非我记错了
  • 那么您的问题是,您不能将瞬态或范围服务注入单例服务。
  • @boindiil 谢谢。我尝试使用 addtransient 和 addscoped 但我仍然遇到同样的问题
  • 你的SqlDbContext是怎么注册的?

标签: c# blazor


【解决方案1】:

解决了这个问题。我的搜索服务必须用作 DI 中的瞬态

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 2021-07-31
    • 2019-02-25
    • 2022-01-21
    • 2021-12-06
    • 2021-12-12
    • 2021-07-07
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多