入门基础,入门基础新普金娱乐

回去目录

回到目录

LindDotNetCore基础介绍

  1. 运作环境
  2. 配置文件
  3. 服务的注册
  4. 安排文件的挂号
  5. 劳动的行使
  6. 布局文件的采用

    #### 运行环境

    vs2017+.netcore2.0,vs需要升高到新型包

    #### 配置文件

    appsetting.json,大家指出了支出环境,测试环境和生育环境,分别对应不同的公文

  • 开发:Development,appsetting.Development.json
  • 测试:Staging,appsetting.Development.json
  • 生产:Producting,appsetting.Development.json

    #### 服务的注册

    在.net
    core里,包括在LindDotNetCore里,服务的注册是在startup里举办,你可以一本万利的操纵每个组件的生命周期。

  • 单例,整个过程使用同一个实例,像redis,mongodb,日志

  • 线程单例,在一个线程里它是唯一的实例,在api环境下,你的一个http请求下来,一个目的只生育五遍,像http请求链
  • 一时间,每回注入时,都会生产一个新的实业。像仓储对象,数据上下文

    public void ConfigureServices(IServiceCollection services)
    {
    
    //Lind.DotNetCore封装的一些模块
    services.AddLog4Logger(o =>
    {
        o.Log4ConfigFileName = "log4.config";
        o.ProjectName = "test";
    });
    services.UseDapper(o =>
    {
        o.ConnString = $"Data Source={Directory.GetCurrentDirectory()}/intergratetest.db";
        o.DbType = Lind.DotNet
    }
    }
    

    #### 配置文件的登记

    四叔封装了安排文件的流入和取得模式,注入需要倚重环境变量,它在startup初阶时被生产。

    public Startup(IConfiguration configuration, IHostingEnvironment env)
    {
    ConfigFileHelper.Set(env: env);
    Configuration = configuration;
    }
    

    #### 服务的采纳

    大家的劳务在startup里两次性被注入,然后在各样控制器的构造方法里被使用,注意:我们的劳务协理倚重型注入
    那点对大家重点,比如一个劳务的生产依赖于另一个劳动,那么,这种涉及由core
    DI帮我们兑现!

    [Route("api/[controller]")]
    public class ValuesController : Controller
    {
     ILogger _logger;
     public ValuesController(ILogger logger)
     {
    _logger = logger;
     }
    

    #### 配置文件的利用

    大家可以一贯动用Utils命名空间下的ConfigFileHelper对象,它其中有Get方法,用来赢得具体的部署节点
    注意,大家的配置节点匡助强类型和字符串二种,强类型务求您提供泛型,字符串只要输入名称就可以
    重临具体的值了。

    var options = new EFConfig();
    //装饰
    configure?.Invoke(options);
    //优先级控制
    ObjectMapper.MapperTo(options, ConfigFileHelper.Get<EFConfig>());
    

    待续…
    归来目录

LindDotNetCore基础介绍

  1. 运行环境
  2. 安排文件
  3. 劳动的登记
  4. 布局文件的注册
  5. 劳务的施用
  6. 配置文件的行使

    #### 运行条件

    vs2017+.netcore2.0,vs需要提高到最新包

    #### 配置文件

    appsetting.json,我们提出了开支环境,测试环境和生育条件,分别对应不同的文书

  • 开发:Development,appsetting.Development.json
  • 测试:Staging,appsetting.Development.json
  • 生产:Producting,appsetting.Development.json

    #### 服务的注册

    在.net
    core里,包括在LindDotNetCore里,服务的登记是在startup里进行,你可以便宜的主宰每个组件的生命周期。

  • 单例,整个经过使用同一个实例,像redis,mongodb,日志

  • 线程单例,在一个线程里它是绝无仅有的实例,在api环境下,你的一个http请求下来,一个对象只生育五回,像http请求链
  • 一晃儿,每一遍注入时,都会生产一个新的实体。像仓储对象,数据上下文

    public void ConfigureServices(IServiceCollection services)
    {
    
    //Lind.DotNetCore封装的一些模块
    services.AddLog4Logger(o =>
    {
        o.Log4ConfigFileName = "log4.config";
        o.ProjectName = "test";
    });
    services.UseDapper(o =>
    {
        o.ConnString = $"Data Source={Directory.GetCurrentDirectory()}/intergratetest.db";
        o.DbType = Lind.DotNet
    }
    }
    

    #### 配置文件的登记

    父辈封装了部署文件的流入和拿到情势,注入需要依靠环境变量,它在startup先导时被生产。

    public Startup(IConfiguration configuration, IHostingEnvironment env)
    {
    ConfigFileHelper.Set(env: env);
    Configuration = configuration;
    }
    

    #### 服务的应用

    俺们的劳务在startup里四回性被注入,然后在每个控制器的构造方法里被使用,注意:大家的劳务匡助倚重型注入
    这一点对大家任重而道远,比如一个劳务的生产看重于另一个劳动,那么,那种关联由core
    DI帮我们落实!

    [Route("api/[controller]")]
    public class ValuesController : Controller
    {
     ILogger _logger;
     public ValuesController(ILogger logger)
     {
    _logger = logger;
     }
    

    #### 配置文件的施用

    俺们可以直接动用Utils命名空间下的ConfigFileHelper对象,它里面有Get方法,用来收获具体的部署节点
    在意,我们的布置节点协理强类型和字符串二种,强类型渴求您提供泛型,字符串只要输入名称就足以
    重回具体的值了。

    var options = new EFConfig();
    //装饰
    configure?.Invoke(options);
    //优先级控制
    ObjectMapper.MapperTo(options, ConfigFileHelper.Get<EFConfig>());
    

    待续…
    回来目录

相关文章