在 ASP.NET Core 依赖注入

在 ASP.NET Core 依赖注入

ASP.NET Core 的设计从头至尾以支持和利用依赖注入为目标。 ASP.NET Core 应用程序可以通过将内置框架服务注入 Startup 类的方法中来对其加以利用,应用程序服务也可以进行注入配置。 由 ASP.NET Core 提供的默认服务容器提供了一个最小功能集合,并非用于替换其他容器。

ASP.NET Core 基础知识

ASP.NET Core 基础知识

ASP.NET Core 应用程序是在其 Main 方法中创建 Web 服务器的控制台应用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
namespace aspnetcoreapp
{
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
}

Main 方法调用 WebHost.CreateDefaultBuilder,后者按照生成器模式来创建 Web 应用程序主机。 生成器提供定义 Web 服务器(例如,UseKestrel)和启动类 (UseStartup) 的方法。 在前面的例子中,自动分配了 Kestrel Web 服务器。 ASP.NET Core 的 Web 主机尝试在 IIS 上运行(如果可用)。 对于其他 Web 服务器(如 HTTP.sys),可通过调用相应的扩展方法来使用。

ASP.NET Core 简单介绍

ASP.NET Core 简介

ASP.NET Core 是一个跨平台的高性能开源框架,用于生成基于云且连接 Internet 的新式应用程序。 使用 ASP.NET Core,您可以:

  • 建置 Web 应用程式和服务、IoT 应用和移动后端。
  • 在 Windows、macOS 和 Linux 上使用喜爱的开发工具。
  • 部署到云或本地。
  • 在 .NET Core 或 .NET Framework 上运行。

为何使用 ASP.NET Core?

数百万开发人员使用过(并将继续使用)ASP.NET 4.x 创建 Web 应用。 ASP.NET Core 是重新设计的 ASP.NET 4.x,更改了体系结构,形成了更精简的模块化框架。

ASP.NET Core 具有如下优点:

  • 生成 Web UI 和 Web API 的统一场景。
  • 集成新式客户端框架和开发工作流。
  • 基于环境的云就绪配置系统。
  • 内置依赖项注入。
  • 轻型的高性能模块化 HTTP 请求管道。
  • 能够在 IIS、Nginx、Apache、Docker 上进行托管或在自己的进程中进行自托管。
  • 定目标到 .NET Core 时,可以使用并行应用版本控制。
  • 简化新式 Web 开发的工具。
  • 能够在 Windows、macOS 和 Linux 进行生成和运行。
  • 开放源代码和以社区为中心

2017年终总结

眼看17年就要过去了,还是动动手指向自己汇报汇报今年的流水账吧!

2017年2月10日我辞掉了第一家公司的实习工作,在武汉陪着女朋友嗨了一周之后独自一人踏上了前往魔都上海的旅途。至此,魔都漂泊的日子正式开始了。

在经历了几天的挤地铁,投简历和一系列面试之后,于2017年2月22日正式拿到上海盖世汽车网络技术有限公司的offer。

接下来便是找房子、租房子、熟悉环境,五天之后正式入职。

4月份请假回校答辩,6月底再次回校,大学生涯结束了,正式毕业拿到毕业证,顺便还正式成为了一名中华人民共和国党员。

2017年7月正式签订劳动合同,转正,实习期结束。

Linux 命令行一览

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
$ date 显示系统当前时间和日期
$ cal 显示当前月份的日历
$ df 查看磁盘剩余空间的数量
$ free 显示空闲内存的数量
$ exit 结束终端会话
<!--more-->
$ pwd 打印出当前工作目录名
$ cd 更改目录
$ ls 列出目录内容
$ file 确定文件类型
$ less 浏览文件内容
$ cp 复制文件和目录
$ mv 移动/重命名文件和目录
$ mkdir 创建目录
$ rm 删除文件和目录
$ ln 创建硬链接和符号链接
$ type 说明怎样解释一个命令名
$ which 显示会执行哪个可执行程序
$ man 显示命令手册页
$ apropos 显示一系列适合的命令
$ info 显示命令 info
$ whatis 显示一个命令的简洁描述
$ alias 创建命令别名
$ unalias 删除命令别名
$ cat 连接文件
$ sort 排序文本行
$ uniq 报道或省略重复行
$ grep 打印匹配行
$ wc 打印文件中换行符,字,和字节个数
$ head 输出文件第一部分
$ tail 输出文件最后一部分
$ echo 显示一行文本
$ clear 清空屏幕
$ history 显示历史列表内容

Python入门教程

Python是由吉多·范罗苏姆(Guido Van Rossum)在90年代早期设计。它是如今最常用的编程 语言之一。它的语法简洁且优美,几乎就是可执行的伪代码。

注意:这篇教程是用Python3写的。

下面一起来学习吧!

正则表达式术语中英文对照表

术语中英文对照表
正则表达式 regular expressions
字符组 character classes
反义字符组 negated character classes
范围表达式法 range expressions
元字符 metacharacters
通配符 wildcard character
换行符 newline charactor
回车符 carriage return character
水平制表符 tab character
垂直制表符 vertical tab charecter
换页符 form feed character
空白符 whitespace
段终止符 paragraph terminator
行终止符 line terminator
单词字符 word characters
非单词字符 non-word characters
数字字符 digits
非数字字符 non-digits
字母数字字符 alphanumeric characters
量词 quantifiers
贪婪量词 greedy quantifiers
惰性量词 lazy quantifiers
位置 positions
anchors
行开头 beginning of a line
行结尾 end of a line
单词边界 word boundaries
非单词边界 non-word boundaries
向前查找 lookahead
正向向前查找 positive lookahead
负向向前查找 negative lookahead
向后查找 lookbehind
正向向后查找 positive lookbehind
负向向后查找 negative lookbehind
分组 groups
捕获分组 capturing groups
非捕获分组 non-capturing groups
分支结构 alternations
反向引用 back references
回溯 backtracks
运算符 operators
优先级 priority level
修饰符 flags
全局匹配修饰符 global flag
忽略大小写修饰符 ingnoreCase flag
多行匹配修饰符 multiline flag
,