0
点赞
收藏
分享

微信扫一扫

.netcore webapi 依赖注入service

心如止水_c736 2022-03-12 阅读 88
//startup.cs
public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme)
            .AddAzureADBearer(options => Configuration.Bind("AzureAd", options));

    services.AddHttpContextAccessor();
    services.AddTransient<HttpContextAccessor>();

    //Register class for DI
    services.UseCustomServices();

    services.AddControllers();
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "RestfulApi", Version = "v1" });
    });
}

//webcommon注入扩展方法
namespace RestfulApi.WebCommon
{
    public static class CustomServicesExtensions
    {
        public static IServiceCollection UseCustomServices(this IServiceCollection services)
        {
            var assembliesToScan = new[] {
                Assembly.GetExecutingAssembly(),
                Assembly.GetAssembly(typeof(MyNumberService))
            };

            services.RegisterAssemblyPublicNonGenericClasses(assembliesToScan)
                .Where(c => c.Name.EndsWith("Service"))
                .AsPublicImplementedInterfaces(ServiceLifetime.Scoped);

            services.AddScoped<MyNumberService>();
            return services;
        }
    }
}

引用包:

controller里构造注入

仅供学习参考,如有侵权联系我删除 

举报

相关推荐

0 条评论