【发布时间】: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是怎么注册的?