在ASP.NET Core 6中,依赖注入(DI)是一个核心概念,它允许我们将依赖项注入到类中,从而实现代码的松耦合和更好的可测试性。今天,我们将通过一个实际的例子来探讨如何在Razor页面中使用页面过滤器(Page Filter)并正确地进行依赖注入。
问题描述
假设我们需要创建一个页面过滤器CustomPageFilterAttribute
,这个过滤器需要使用到ApplicationDbContext
,它已经在Program.cs
中注册到DI容器里。我们通过注入ApplicationDbContext
到过滤器的构造函数中来使用它,但当我们将这个过滤器应用到一个Razor页面上时,出现了错误,提示没有为db
参数提供值。
代码示例
下面是我们最初的代码尝试:
[AttributeUsage