回到目录

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. mybatis入门基础(二)----原始dao的开发和mapper代理开发

    承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先 ...

  2. 01shell入门基础

    01shell入门基础 为什么学习和使用shell编程 shell是一种脚本语言,脚本语言是相对于编译语言而言的.脚本语言不需要编译,由解释器读取程序并且执行其中的语句,而编译语言需要编译成可执行代码 ...

  3. Markdown入门基础

    // Markdown入门基础 最近准备开始强迫自己写博文,以治疗严重的拖延症,再不治疗就“病入骨髓,司命之所属,无奈何”了啊.正所谓“工欲善其事,必先利其器”,于是乎在写博文前,博主特地研究了下博文 ...

  4. JavaScript入门基础

    JavaScript基本语法 1.运算符 运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=).算术运 ...

  5. C++ STL编程轻松入门基础

    C++ STL编程轻松入门基础 1 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL 1.2 追根溯源:STL的历史 1.3 千丝万缕的联系 1.4 STL的不同实现版本 2 牛刀小试 ...

  6. HTML入门基础教程相关知识

    HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...

  7. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  8. Linux shell入门基础(一)

    Linux shell入门基础(一): 01.增加删除用户: #useradd byf   userdel byf(主目录未删除)  userdel -r byf   该用户的属性:usermod 用 ...

  9. AngularJS入门基础PPT(附下载链接)

    学习了Angularjs有段时间,自己写了一个PPT,个人认为总结的非常全面,对于入门基础够了. 大致模块有:Angularjs简单介绍,Angularjs特性,hello world,Control ...

随机推荐

  1. JSON序列化时消除空格

    使用 python 序列化时,通常使用 json.dumps()生成 json,但是会在key和value之间默认给你加上一个空格.传参时可能会应为这个空格导致服务端解析失败. 之前做接口测试时,就遇 ...

  2. (一)—Linux安装与硬盘分区

    相信很多人对linux充满了喜爱,尤其是技术人员,玩惯了windows更想尝试一下这个系统.关于它的优点多多,当然,你的好你的坏,用过才明白!下面我这个菜鸟也来玩装个玩玩. 我不会那么冲动,上来就把自 ...

  3. 多线程编程学习笔记——async和await(二)

    接上文 多线程编程学习笔记——async和await(一) 三.   对连续的异步任务使用await操作符 本示例学习如何阅读有多个await方法方法时,程序的实际流程是怎么样的,理解await的异步 ...

  4. Spring3.0官网文档学习笔记(二)

    1.3 使用场景 典型的成熟的spring web应用 spring使用第三方框架作为中间层 远程使用场景 EJB包装 1.3.1 依赖管理.命名规则(包)     spring-*.jar *号代表 ...

  5. C. Kyoya and Colored Balls(Codeforces Round #309 (Div. 2))

    C. Kyoya and Colored Balls Kyoya Ootori has a bag with n colored balls that are colored with k diffe ...

  6. java上传图片剪切工具类

    package com.up.util; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io. ...

  7. 腾讯云安全:移动 APP 安全行业报告

    移动 APP 已逐步渗透入我们的生活,据统计,2016年,APP 发行数量仅电商.金融.游戏这三大类共计高达2万左右,国内移动互联网活跃用户数已经突破10亿,移动互联网这样快速的推移,移动互联网的安全 ...

  8. gulp的基本用法

    这几天简单的研究了一下gulp的用法,gulp对于初学者来说还是很友好的. 官方给出gulp的优点如下: 1.通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理. 2.Gulp 严格 ...

  9. CS:APP3e 深入理解计算机系统_3e bomblab实验

    bomb.c /*************************************************************************** * Dr. Evil's Ins ...

  10. linux系统下安装单台Redis

    注意:搭建redis前一定要安装gcc redis安装方式一 1.安装gcc命令:yum install -y gcc #安装gcc [root@localhost src]# yum install ...