.Net Core学习笔记 框架特性(注入、配置)

注:直接学习的.Net Core 6,此版本有没有startup.cs相关的内容

项目Program.cs文件中 是定义项目加载 启动的地方

//通过builder对项目进行配置、服务的加载

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();//将项目中的控制器及相关的服务注册到容器中
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();//将Swagger相关服务注册到容器

----------------------------------------------------------------------------------------------------

builder.Services.AddScoped<服务>();//注入目标文件,如业务层、数据访问层文件

//调用此服务的主体一般在构造函数中添加注入方式

例: private readonly UserOperateServices _operateService;
        public UserController(UserOperateServices service)
        {
            this._operateService = service;
        }

        //_operateService.Execute();

 //不使用构造注入的方式  只有在调用Test的时候,才注入MyService1,且不需要在构造函数中有

        [HttpGet("Testtest")]
        public string Test([FromServices] UserOperateServices myService1, string name) 
        {
            var names = myService1.GetNames();
            return string.Join(",", names) + ",hello:" + name;
        }
//当我们想注册服务的时候,主要把注册代码放到builder.Build()之前就可以
//注册代码的顺序不会影响程序运行的效果
var app = builder.Build();
 

--------------------------------------------------------------------------------------------------------

//在CreateBuilder方法中已经完成了配置系统的初始化,就不再需要使用service.AddOption方法来注册选项的相关服务
builder.Host.ConfigureAppConfiguration((_, configBuilder) => { //此处下划线是抛元,类似于占位符
    string connStr = builder.Configuration.GetConnectionString("configServer");//在用户机密里的节点
    configBuilder.AddDbConfiguration(() => new SqlConnection(connStr));
});
//需要写配置类和配置节点的绑定
builder.Services.Configure<SmtpOptions>(builder.Configuration.GetSection("Smtp"));//SmtpOptions是配置实体类
---------------------------------------------------------------------

EF Core 与原先的使用区别不大,因为新框架注入的需求,在使用的形式上有需要处理的部分

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值