C# 委托: delegate、Action、Func

委托

委托是一中引用类型,表示对具有特定参数列表和返回类型的方法的引用.同其他引用类型一样,都是对某个对象的引用,只不过普通的引用对象是变量类型,委托的引用对象为方法.在实例化委托时可以与兼容的方法相关联,进而可以通过委托调用方法.

作用:委托的作用是将方法作为参数传递给其他方法.事件处理程序就是通过委托调用方法.

HTTP 协议

HTTP

HTTP: HyperText Transfer Protocol 超文本传输协议

协议概述

HTTP是一个客户端服务端之间请求和应答的标准,通常使用 TCP 协议。客户端和服务端是相对来说的,在这里客户端可以通指发起 HTTP 请求的一端,服务端为处理并响应HTTP请求的一端。HTTP 是无状态的,即客户端不做请求操作服务端无法知道客户端的存在状态。

在 HTTP 0.9 和 1.0 中,每一次请求都会与服务端进行 TCP 连接,等服务端处理并响应完请求之后就会断开连接,下一次请求时会重新进行 TCP 连接操作,称为短连接。在 HTTP 1.1 中,引入了保持连线的机制(默认使用此功能),一个连接可以重复在多个请求/回应使用。持续连线的方式可以大大减少等待时间,因为在发出第一个请求后,双方不需要重新运行 TCP 握手程序,称为长连接

事务基础知识

概念

事务(Transaction)是由一系列对系统中的数据进行访问和更新的操作所组成的一个程序执行逻辑单元。

.NET 中调用 HTTP API

当我们需要在 .NET 中调用 RestAPI 的时候我们可以使用 HttpWebRequest WebClient HttpClient,我来描述一下这三种的使用以及区别。

我使用的 WSL2 及相关设置

简介

WSL 是 Windows Subsystem for Linux 的简称,他是一个基于 Windwos 子系统的 Linux,用于提供快速运行 Linux 命令和工具。WSL 目前有 WSL 和 WSL 2 两个版本,其中 WSL 2 功能更强大,并支持 Docker 的运行,这是我使用它的一个原因之一。

官方文档

HTTPS 与 SSL 证书相关

HTTPS 简介

超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。

SSL 简介

传输层安全性协议(英语:Transport Layer Security,缩写:TLS)及其前身安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器-网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布TLS 1.0标准文件(RFC 2246)。随后又公布TLS 1.1(RFC 4346,2006年)、TLS 1.2(RFC 5246,2008年)和TLS 1.3(RFC 8446,2018年)。在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中,广泛使用这个协议。许多网站,如Google、Facebook、Wikipedia等也以这个协议来创建安全连线,发送资料。目前已成为互联网上保密通信的工业标准。

以上取自维基百科 HTTPS SSL

在 Asp.Net Core 中进行全局异常的捕获与配置

AspNet Core 中的全局处理

IExceptionFilter

Asp.Net Core 中我们可以使用 IExceptionFilter 过滤器来捕获 AspNet Core 中控制器产生的错误,它也提供更推荐使用的异步版本 IAsyncExceptionFilter

首先我们创建一个 Asp.Net Core MVC Web 应用程序,新建 MyExceptionFilter 类,使其实现 IAsyncExceptionFilter 接口。