2021年了,`IEnumerator`、`IEnumerable`还傻傻分不清楚?

IEnumerator、IEnumerable这两个接口单词相近、含义相关,傻傻分不清楚。 入行多年,一直没有系统性梳理这对李逵李鬼。 最近本人在怼着why神的《其实吧,LRU也就那么回事》,方案1使用数组实现LUR,手写算法涉及这一对接口,借此机会本次覆盖这一对难缠的冤家。 IEnumerator ... »

Asp.net Core 多语言本地化 一些自己的思路和做法

多语言,已成为必不可少的需求了,在Asp.net Core中解决起来很方便。实现一个多语言的网站只要几分钟。 1.环境:VS2019+Asp.net Core 5(适用于3.1,其实就是追个新) 2.新建项目 因为是一个空项目,所以为了多点内容,就加入了一些基架内容,添加了Identity的自动生成 ... »

ASP.NET Core路由中间件[2]: 路由模式

一个Web应用本质上体现为一组终结点的集合。终结点则体现为一个暴露在网络中可供外界采用HTTP协议调用的服务,路由的作用就是建立一个请求URL模式与对应终结点之间的映射关系。借助这个映射关系,客户端可以采用模式匹配的URL来调用对应的终结点。对于路由系统来说,作为路由目标的终结点总是关联一个具体的U... ... »

ASP.NET Core路由中间件[1]: 终结点与URL的映射

借助路由系统提供的请求URL模式与对应终结点(Endpoint)之间的映射关系,我们可以将具有相同URL模式的请求分发给应用的终结点进行处理。ASP.NET Core的路由是通过EndpointRoutingMiddleware和EndpointMiddleware这两个中间件协作完成的,它们在AS... ... »

对CROS OPTIONS预检请求的一些思考

前后端分离模大势所趋,跨域问题更是老生常谈。 问题背景: 浏览器最基本的安全规范-同源策略。所谓同源是指域名、协议、端口相同。不同源的浏览器脚本(javascript、ActionScript、canvas)在没有明确授权的情况下,不能读写对方的资源。 CORS就是w3c和浏览器厂商为解决跨域资源共 ... »

使用swagger上传文件

经常使用swagger,可以通过设置[ProducesResponseType]标记接口的返回信息;swagger也能通过接口的参数列表,自动获得发送的数据结构信息。 不过有一个例外,就是上传文件的时候,设置了[Consumes]的内容为multi-part/form-data,但是swagger并 ... »

如何从零开发一个NuGet软件包?

作者:依乐祝 首发地址:https://www.cnblogs.com/yilezhu/p/14175019.html 我想目前每个.net开发人员都应该知道nuget.org和NuGet软件包吧。但是,您是否曾经尝试并创建过一个nuget包呢?Nuget软件包比较容易引入到类库中。因此,可以使用N ... »

一个小技巧助您减少if语句的状态判断

作者:依乐祝 首发地址:https://www.cnblogs.com/yilezhu/p/14174990.html 在进行项目的开发的过程中, if 语句是少不了的,但我们始终要有一颗消灭 if / else 语句的心。为了消灭if / else 我们引入了 短路器 的概念。 短路器 有时候的确 ... »

.Net核心依赖项注入:生命周期和最佳实践

在讨论.Net的依赖注入(DI)之前,我们需要知道我们为什么需要使用依赖注入 依赖反转原理(DIP): DIP允许您将两个类解耦,否则它们会紧密耦合,这有助于提高可重用性和更好的可维护性 DIP介绍: 高级模块不应依赖于低级模块。两者都应依赖抽象。 抽象不应依赖细节。细节应取决于抽象。 下面我们通过 ... »

采用“传统”方式获取当前HttpContext

我们知道“依赖注入”已经成为了.NET Core的基本编程模式,表示当前请求上下文的HttpContext可以通过注入的IHttpContextAccessor服务来提取。有时候我们会使用一些由于某些原因无法使用依赖注入的组件,我们如何提取当前HttpContext呢? ... »

部署 Asp.Net Core 应用到 Docker

前言: 今天不说Docker 是啥,容器是啥镜像又是啥(如果这些不知道,请自行学习),今天很单纯的将 .Net Core 应用程序部署到Docker上。 起因: 好多同学私信让我写篇能落地的【一步步】将 Asp.Net Core 应用程序部署到Docker上的操作文档。 一、环境 1.1、开发环境 ... »

ASP.NET Core应用基本编程模式[2]:依赖注入

基于IHostBuilder/IHost的服务承载系统建立在依赖注入框架之上,它在服务承载过程中依赖的服务(包括作为宿主的IHost对象)都由代表依赖注入容器的IServiceProvider对象提供。在定义承载服务时,也可以采用依赖注入方式来消费它所依赖的服务。作为依赖注入容器的IServiceP... ... »