.net 依赖注入_mvc

91 阅读1分钟

构造函数

创建实现类

计算两数之和 image.png

注册该服务

image.png

依赖注入

image.png

计算结果

image.png

多服务注册优化

问题

若在项目中需要使用多个服务,要在controller中依次注入,非常麻烦

image.png

image.png

安装依赖

Zack.Commons image.png

库1注册自己的服务

image.png

using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Zack.Commons;

namespace ClassLibrary1
{
    internal class ModelInitcs : IModuleInitializer
    {
        public void Initialize(IServiceCollection services)
        {
            services.AddScoped<Class1>();
            services.AddScoped<Class2>();
        }
    }
}

库2注册自己的服务

image.png

服务注册

image.png

var asms = ReflectionHelper.GetAllReferencedAssemblies();
builder.Services.RunModuleInitializers(asms);

测试

image.png

image.png