如何在blazor组件类中为我自己的服务使用依赖项注入

时间:2019-07-23 11:01:52

标签: blazor

如何在blazor组件类中为自己的服务使用依赖项注入?

组件类:

[Inject]
public HttpContentFormatter IHttpContentFormatter { 
     get; 
     set; 
}

2 个答案:

答案 0 :(得分:4)

假设您的应用程序是客户端Blazor,则应将对象添加到DI容器中,如下所示:

public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<IHttpContentFormatter>();

        }

        public void Configure(IComponentsApplicationBuilder app)
        {
            app.AddComponent<App>("app");
        }
    }

然后在组件中注入这样的对象:

@inject IHttpContentFormatter HttpContentFormatter 

答案 1 :(得分:0)

我是这样做的:

  public void ConfigureServices(IServiceCollection services)
    {
        services.AddSingleton<IHttpContentFormatter, HTTPContentFormatter>();

    }

AddXxxx方法的第二个类型参数是要实现IHttpContentFormatter接口的具体类型。然后@Inject声明就像您说的那样工作。