在 ASP.NET Core 依赖注入

在 ASP.NET Core 依赖注入

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

阅读全文

ASP.NET Core 中的应用程序启动

ASP.NET Core 中的应用程序启动

Startup 类配置服务和应用的请求管道。

Startup 类

ASP.NET Core 应用使用 Startup 类,按照约定命名为 StartupStartup 类:

  • 可选择性地包括 ConfigureServices 方法以配置应用的服务。
  • 必须包括 Configure 方法以创建应用的请求处理管道。

阅读全文

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 入门

安装 .NET Core 2.1 SDK or later

创建 ASP.NET Core 项目。 打开命令行界面,输入以下命令:

1
dotnet new webapp -o aspnetcoreapp

信任 HTTPS 开发证书:

阅读全文

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 进行生成和运行。
  • 开放源代码和以社区为中心

阅读全文

.NET Core 简单介绍

.NET Core 入门

.NET Core 可以在 WindowsLinuxmacOS/OS X 上运行。

Windows

Windows 上安装 .NET Core。

Linux

Linux 上安装 .NET Core。

OS X/macOS

安装适用于 macOS 的 .NET Core。 .NET Core 可在 OS X El Capitan(版本 10.11)和 macOS Sierra(版本 10.12)上使用。

阅读全文

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写的。

下面一起来学习吧!

阅读全文

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

阅读全文

正则表达式速查表

术语中英文对照表
字面量
模式 说明
字母、数字 匹配字面量本身。比如 /f/,匹配字母 "f"
\0 匹配 NUL 字符。
\t 匹配水平制表符。
\v 匹配垂直制表符。
\n 匹配换行符。
\r 匹配回车符。
\f 匹配换页符。
\xnn 匹配拉丁字符。比如 \xOA 等价于 \n
\uxxxx 匹配 Unicode 字符。比如 \u2028 匹配行终止符,\u2029 匹配段终止符。
\cX 匹配 ctrl+X。比如 \cI 匹配 ctrl+I,等价于 \t
[\b] 匹配 Backspace 键(特殊记忆)。

阅读全文

正则表达式编程

第七章 正则表达式编程

什么叫知识,能指导我们实践的东西才叫知识。

学习一样东西,如果不能使用,最多只能算作纸上谈兵。正则表达式的学习,也不例外。

掌握了正则表达式的语法后,下一步,也是关键的一步,就是在真实世界中使用它。

那么如何使用正则表达式呢?有哪些关键的点呢?本章就解决这个问题。

内容包括:

阅读全文

正则表达式的构建

第六章 正则表达式的构建

对于一门语言的掌握程度怎么样,可以有两个角度来衡量:读和写。

不仅要看懂别人的解决方案,也要能独立地解决问题。代码是这样,正则表达式也是这样。

与“读”相比,“写”往往更为重要,这个道理是不言而喻的。

对正则的运用,首重就是:如何针对问题,构建一个合适的正则表达式?

本章就解决该问题,内容包括:

阅读全文

正则表达式的拆分

第五章 正则表达式的拆分

对于一门语言的掌握程度怎么样,可以有两个角度来衡量:读和写。

不仅要求自己能解决问题,还要看懂别人的解决方案。代码是这样,正则表达式也是这样。

正则这门语言跟其他语言有一点不同,它通常就是一大堆字符,而没有所谓“语句”的概念。

如何能正确地把一大串正则拆分成一块一块的,成为了破解“天书”的关键。

本章就解决这一问题,内容包括:

阅读全文

正则表达式回溯法原理

第四章 正则表达式回溯法原理

学习正则表达式,是需要懂点儿匹配原理的。

而研究匹配原理时,有两个字出现的频率比较高:“回溯”。

听起来挺高大上,事实上却是一个比较容易理解的概念。

因此,本章就简单扼要地说清楚回溯到底是什么东西。

内容包括:

阅读全文

正则表达式括号的作用

第三章 正则表达式括号的作用

不管哪门语言中都有括号。正则表达式也是一门语言,而括号的存在使这门语言更为强大。

对括号的使用是否得心应手,是衡量对正则的掌握水平的一个侧面标准。

括号的作用,其实三言两语就能说明白,括号提供了分组,便于我们引用它。

引用某个分组,会有两种情形:在 JavaScript 里引用它,在正则表达式里引用它。

本章内容虽相对简单,但我也要写长点。

内容包括:

阅读全文

正则表达式位置匹配攻略

第二章 正则表达式位置匹配攻略

正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。

然而大部分人学习正则时,对于匹配位置的重视程度没有那么高。

本章讲讲正则匹配位置的相关知识点。

内容包括:

什么是位置呢?

位置(锚)是相邻字符之间的位置。比如,下图中箭头所指的地方:

PNG

阅读全文

正则表达式字符匹配攻略

第一章 正则表达式字符匹配攻略

正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。

然而关于正则如何匹配字符的学习,大部分人都觉得这块比较杂乱。

毕竟元字符太多了,看起来没有系统性,不好记。本章就解决这个问题。

内容包括:

两种模糊匹配

如果正则只有精确匹配是没多大意义的,比如 /hello/,也只能匹配字符串中的 "hello" 这个子串。

1
2
3
var regex = /hello/;
console.log(regex.test("hello"));
// => true

阅读全文

今日头条全站新闻文章数据爬取

今日头条全站新闻文章数据爬取

url:https://www.toutiao.com/api/pc/feed/

拼接参数:

  • category:见下category表格
  • utm_source
  • widen
  • max_behot_time
  • max_behot_time_tmp
  • tadrequire
  • as
  • cp

阅读全文

HtmlAgilityPack爬取美女图片、每日一文文章、小说

HtmlAgilityPack?

HtmlAgilityPack 是 .NET 下的一个 HTML 解析类库。支持用 XPath 来解析 HTML 。命名空间: HtmlAgilityPack

爬取美女图片核心代码

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
static void Main(string[] args)
{
HtmlWeb web = new HtmlWeb();
string path = @"F:\pic\";
for (int i = 88; i >= 1; i--)
{
var url = "http://jandan.net/ooxx/page-" + i;
HtmlDocument doc = web.Load(url);
List<HtmlNode> nodeList = doc.DocumentNode.SelectNodes("//*[@class=\"commentlist\"]/li").AsParallel().ToList();
foreach (var item in nodeList)
{
HtmlNode imghtml = item.SelectSingleNode(".//img");
var imgsrc = "http:" + imghtml.Attributes["src"].Value;
var imgname = Guid.NewGuid().ToString() + imgsrc.Substring(imgsrc.Length - 4, 4);
Console.WriteLine(imgsrc);
DownPic(imgsrc, path + imgname);
}
}
}

阅读全文