Blazor 是一个用于构建 Web 应用程序的新兴框架,其支持依赖注入(DI)。使用依赖注入可有效地解耦组件,使代码更加可维护并提高测试的可靠性。Blazor 的 DI 支持两种方式:自动 DI 和手动 DI。然而,一些开发人员仍然不清楚为什么需要使用自动 DI。
自动 DI 意味着框架将负责注入组件所需的服务,而不是由开发人员手动进行注入。这确保了代码的可读性和可维护性,并减少了错误的风险。在 Blazor 中,为了使用自动 DI,需要在 Startup.cs 文件中注册服务:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton();
}
然后,在组件中使用依赖注入,只需像下面这样在构造函数中声明要注入的服务即可:
[Inject]
public MyComponent(IMyService myService)
{
this._myService = myService;
}
与手动 DI 相比,自动 DI 消除了手动注入的需要,减少了重复代码并提高了代码的可读性和可维护性。因此,自动 DI 是 Blazor 依赖注入的首选方式。