自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(171)
  • 收藏
  • 关注

转载 Asp.Net Core EndPoint 终结点路由工作原理解读

在本打算写一篇关于Identityserver4 的文章时候,却发现自己对EndPoint -终结点路由还不是很了解,故暂时先放弃了IdentityServer4 的研究和编写;所以才产生了今天这篇关于EndPoint (终结点路由) 的文章。

2023-03-30 17:33:57 462

转载 Asp.Net Core Authorize解析(源码解读)

IdentityServer4已经分享了一些应用实战的文章,从架构到授权中心的落地应用,也伴随着对IdentityServer4掌握了一些使用规则,但是很多原理性东西还是一知半解,故我这里持续性来带大家一起来解读它的相关源代码,本文先来看看为什么Controller或者Action中添加Authorize或者全局中添加AuthorizeFilter过滤器就可以实现该资源受到保护,需要通过access_token才能通过相关的授权呢?

2023-03-30 17:29:43 645

转载 .netcore入门26:.net core源码分析之依赖注入

首先看下面的图:上图中显示了依赖注入涉及到的主要接口和类的相互之间关系。

2023-03-30 17:29:35 1597

转载 ASP.NET Core 性能优化最佳实践

对于很多应用,这是可以接受的。https://docs.microsoft.com/en-us/dotnet/api/system.text.json 进行 JSON 序列化,这将带来如下好处。ASP.NET Core 本身已经是在线程池线程上运行应用程序代码了,因此这样调用 Task.Run 只会导致额外的不必要的线程池调度。不要使用如下操作: https://docs.microsoft.com/en-us/dotnet/api/System.IO.StreamReader.ReadToEnd。

2023-03-30 17:28:47 984

转载 ASP.NET Core 中间件(Middleware)的使用及其源码解析(一)

1、首先它是将 _components 这个集合反转(即:_components.Reverse()),然后依次调用里面的中间件(Func委托),这也就解释了为什么网站启动时我们的控制台会依次输出 “middleware 3” 、“middleware 2”、“middleware 1” 的原因。3、在调用反转后的中间件时,它是用第一个中间件的返回值作为调用第二个中间件的参数,用第二个中间件的返回值作为调用第三个中间件的参数,依次类推。

2023-03-30 17:25:52 605

转载 NET CORE 管道模型及中间件使用解读

说到NET CORE 管道模型不得不先来看看之前的ASP.NET 的管道模型,两者差异很大,.NET CORE 3.1 后完全重新设计了框架的底层,.net core 3.1 的管道模型更加灵活便捷,可做到热插拔,通过管道可以随意注册自己想要的服务或者第三方服务插件.

2023-03-14 13:50:45 348

转载 ASP.NET Core 配置跨域(CORS)

目前使用的是ASP.NET CORE 2.1, 其Cors组件已经升级,出于安全考虑必须明确要允许的内容。由于项目中需要实时消息,所以就使用了ASP.NET(Core) SignalR实时通讯库。因为业务服务与通讯服务是独立的,所以涉及到跨域的问题, 浏览器抛出的异常非常明显,这个是明显跨域相关内容。浏览器控制台错误依然存在,.net core也提示了相关警告信息,差点就忘了现在使用.net core 版本和以前不一样了。特别注意:app.UseCors()必须放在app.UseMvc()之前。

2023-03-14 12:11:49 2379

转载 .NetCore部署Linux环境搭建

下面我们使用VM虚拟机.我这里安装的Linux系统是centos7软件提供:直接打开VM 选择 文件打开 centos7镜像文件(我是使用的我网盘制作的镜像) 然后在配置内存网络就行了如图设置选择开启系统帐号: root密码:123123注意这里linux不支持小键盘输入查看本机IP。

2023-03-14 12:08:23 1708

原创 ASP.NET Core开发者学习路线图

参考于:https://www.yuque.com/ysgstudyhard/da6e0c/tvchky

2023-03-14 12:06:16 119

转载 IdentityServer4实现OAuth2.0四种模式之客户端模式

当用户(End User)在微信、Google等OpenId提供者(OpenID Provider)平台注册账户时会产生一个身份标识,这个身份标识就是OpenId,当用户登录第三方应用(Relying Part)时如果Relying Part支持OpenId登录,会生成一个带有重定向地址的Url跳至OpenId Provider平台登录界面,用户登录成功后,根据重定向地址带着OpenId跳回Relying Part,标识着用户身份认证成功,该用户在OpenId Provider平台有注册。

2023-03-14 12:05:52 273

转载 基于Identity Server4的OAuth 2.0授权总结(1)- Authorization Server

获取的Scope的信息最后会存储在AccessToken中供api服务器验证,Scope所包含的用户Claim也会包含在access token中。用来定义在认证的过程中存储在IdentityToken中的信息。令牌描述了用户标识,可以访问的资源的Scope,令牌本身的安全相关(有效期,签名等等)的信息。通过OAuth认证后,Authorization Server颁发给客户端用来描述用户的基本信息的JWT。至此,我们的Web应用就具有了Authorization Server的能力了。

2023-03-14 12:05:14 193

转载 学习ASP.NET Core(10)-全局日志

在第一章介绍项目结构时,有提到.NET Core启动时默认加载了日志服务,且在appsetting.json文件配置了一些日志的设置,根据设置的日志等级的不同可以进行不同级别的信息的显示,但它无法做到输出固定格式的log信息至本地磁盘或是数据库,所以需要我们自己手动实现,而我们可以借助日志框架实现。ps:在第7章节中我们记录的是数据处理层方法调用的日志信息,这里记录的则是ASP.NET Core WebAPI层级的日志信息,两者有所差异。

2023-03-14 12:03:54 377

转载 .NET CORE 3 - 5 全局日志的书写

【堆栈调用】: at System.Data.SqlClient.SqlConnection.PermissionDemand()【自定义错误】:The ConnectionString property has not been initialized.【异常信息】:The ConnectionString property has not been initialized.【异常类型】:InvalidOperationException。【异常时间】:2021-12-29 13:32:47,754。

2023-03-14 12:00:45 177

转载 Asp.net Core全局异常监控和记录日志

系统异常监控可以说是重中之重,系统不可能一直运行良好,开发和运维也不可能24小时盯着系统,系统抛异常后我们应当在第一时间收到异常信息。在Asp.net Core里我使用拦截器和中间件两种方式来监控异常。全局异常监控的数据最好还是写入数据库,方便查询。

2023-03-14 11:59:50 499

转载 .NET开发工程师自我评价简历范文

熟悉 C# 、 Java 、 SQL Server 、 HTML 、 JavaScript 、Div+ CSS、MVC、Nhibernate、 .NET 等专业知识,懂得三层开发模式,会自定义重绘控件,能做C/S和B/S开发,熟悉多线程和Socket通信。一个人的性格往往能决定一个人的成败,所以我在学习的同时也在不断的培养自己良好的性格。对 SOA 的设计原理有一定了解,由于工作的需要,读过公司的SOA框架源码,并对其中的原理比较了解,并自己模仿公司的框架开发了一套简单的SOA框架。

2023-03-14 11:11:18 928

转载 面试必问!10 道经典 MySQL 面试题

如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,SQLSERVER就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合这些SQL语句所定义的规则。视图创建后,可以使用与表相同的方式利用它们。触发器与存储过程非常相似,触发器也是SQL语句集,两者唯一的区别是触发器不能用EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发(激活)执行。

2023-03-13 16:20:32 1630

转载 MySQL常见面试题

这样,当对这个表进行查询时,只需要在表分区中进行扫描,而不必进行全表扫描,明显缩短了查询时间,另外处于不同磁盘的分区也将对这个表的数据传输分散在不同的磁盘I/O,一个精心设置的分区可以将数据传输对磁盘I/O竞争均匀地分散开。可按月自动建表分区。左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址(注意逻辑上相邻的记录在磁盘上也并不是一定物理相邻的)。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。

2023-03-13 15:06:24 41

转载 史上最全 55道 MySQL面试题及答案,看完碾压面试官

MySQL面试题以及答案整理【最新版】MySQL高级面试题大全,发现网上很多MySQL面试题都没有答案,所以花了很长时间搜集,本套MySQL面试题大全,汇总了大量经典的MySQL程序员面试题以及答案,包含MySQL语言常见面试题、MySQL工程师高级面试题及一些大厂MySQL开发面试宝典,面试经验技巧等,应届生,实习生,企业工作过的,都可参考学习!这套MySQL面试题大全,希望对大家有帮助哈~REGEXP 是模式匹配,其中匹配模式在搜索值的任何位置。每当行被更改时,时间戳字段将获取当前时间戳。

2023-03-13 14:42:29 5888 2

转载 30 道 MySQL 面试题全放送!

关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。简单来说,关系模式就是二维表格模型。

2023-03-13 14:33:27 83

转载 MySQL 精选 60 道面试题(含答案)

在某个查询里面,索引 k 已经“覆盖了”我们的查询需求,称为覆盖索引。覆盖索引可以减少树的搜索次数,显著提升查询性能,所以使用覆盖索引是一个常用的性能优化手段。MySQL 5.6 引入的索引下推优化(index condition pushdown), 可以在索引遍历过程中,对索引中包含的字段先做判断,直接过滤掉不满足条件的记录,减少回表次数。MySQL 将 redo log 的写入拆成了两个步骤:prepare 和 commit,中间再穿插写入binlog,这就是"两阶段提交"。

2023-03-13 14:11:04 1188

转载 常见(MySQL)面试题(含答案)

存储过程是一个预编译的 SQL 语句, 使用存储过程比单纯 SQL 语句执行要快。可以用一个命令对象来调用存储过程。可以供外部程序调用,比如:java 程序。

2023-03-13 13:26:53 1391

转载 ASP.NET Core 面试题(一)

ASP.NET Core 可以说是 ASP.NET 的升级版本,它遵循 .NET 标准框架,是基于 .NET Core 的 Web 开发框架,可运行于多种操作系统,相比 ASP.NET 来说更快、更易于配置、更加模块化,并且扩展性更加强。首先这两个方法都是在 startup 类的 configure 方法里面调用的,并且都是用来向应用请求管道里面添加中间件的。在 ASP.NET Core 中中间件指的是注入到应用中用来处理请求和相应的组件,是通过多个委托嵌套形成的。控制器注册:只对控制器中的方法生效;

2023-03-13 12:28:21 223

转载 .NET Core面试题

2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;Autofac是一个IOC容器,支持三种类型的DI依赖注入(构造函数注入,属性注入,基于lambda表达式创建实例),配置文件配置映射关系,支持AOP扩展定制;首先ASP.NET Core可以说是 ASP.NET的升级版本。它遵循了.NET的标准架构,是一个基于.NET Core的。

2023-03-13 12:25:58 882

转载 .NET/.NET Core面试题汇总

但是,内存不是无限大的。ASP.NET Core 是对 ASP.NET 4.x 的重新设计,其中包括体系结构上的更改,产生了更精简、更模块化的框架。(1) 说明:用于实现常见的错误处理策略,没有之前和之后事件,处理 Razor 页面或控制器创建、模型绑定、操作过滤器或操作方法中发生的未经处理的异常。不受CLR控制的资源,也就是不属于.NET本身的功能,往往是通过调用跨平台程序集(如C++)或者操作系统提供的一些接口,比如Windows内核对象、文件操作、数据库连接、socket、Win32API、网络等。

2023-03-13 12:24:57 619

转载 .net简历

★熟练使用MVC进行B/S开发,有良好的编码习惯,熟练使用VS2015,VS2019开发环境,有过WinForm开发经验;★熟悉.Net Framework,CLR,有面向对象的系统设计和架构经验;★了解.Net Core,进行过.Net Core项目的实际开发;★熟练使用AutoFac,Log4net,Swagger,了解JWT★熟练使用SQL Server,MySQL关系型数据库;★熟练编写Sql语句,事务,索引,存储过程等技术;

2023-03-13 12:24:03 798

转载 Asp.Net Core 面试题简单整理

作用域服务,一个新请求创建一个服务实例,通过add scoped添加。两个方法都在startup类的config中调用,都是应用请求管道里面的中间件,use可以调用下一个中间件的添加,run不会,run是终结式的。是Asp.Net的升级版,遵循的.Net框架,基于.Net Core的Web开发框架,可运行多个操作系统,更快,更容易,更模块化,拓展性更强。是谷歌开发的一个高性能、开源和通用的RPC框架,面向移动和HTTP/2设计,分为四种模式:简单模式、客户端流模式、服务器端流模式和双向模式。

2023-03-12 15:24:33 803

转载 .NET Core 面试题

它有几个比较重要的参数,application builder,Hosting environment, logo factory, 在这里我们可以配置一些中间件用来处理路径,验证和session等等。这个类的调用是在program main函数里面进行配置的。常规路径处理就是用MapRoute的方式设定调用路径,属性路径处理是指在调用函数的上方设定一个路径属性。有三种服务的生命周期。是一种轻量级的服务,用于无状态服务的操作。3.是dot net core处理请求的效率更高,能够处理更多的请求。

2023-03-12 15:21:14 243

转载 C#.NET面试题汇总系列六:ASP.NET Core

Startup class是dot net core应用的入口。所有的dot net core应用必须有这个class。这个类用来配置应用。这个类的调用是在program main函数里面进行配置的。类的名字可以自己定义中间件是组装到应用程序管道中以处理请求和响应的软件。每个组件:选择是否将请求传递给管道中的下一个组件。可以在调用管道中的下一个组件之前和之后执行工作。请求委托(Request delegates)用于构建请求管道,处理每个HTTP请求。

2023-03-12 15:13:34 1041

转载 ASP.NET Core基本原理(2)-中间件

什么是中间件中间件是装配到应用管道中用来处理请求和响应的软件组件。管道中的每一个组件都可以选择是否将请求移交给下一个组件,并且可以在管道中调用下一个组件之前或者之后执行指定的操作。请求委托被用于构建请求管道。请求委托会处理每一个HTTP请求。请求委托通过在传递给Startup类中的Configure方法的IApplicationBuilder类型上使用Run,Map,Use扩展方法进行配置。一个单独的请求委托可以被指定为一个内嵌的匿名方法,或定义在一个可重用的类中。

2023-03-12 15:08:01 197

转载 ASP.NET Core 运行原理解剖[5]:Authentication

本章基于 HttpAbstractions 对 ASP.NET Core 认证系统做了一个简单的介绍,但大多是一些抽象层次的定义,并未涉及到具体的实现。因为现实中有各种各样的场景无法预测,HttpAbstractions 提供了统一的认证规范,在我们的应用程序中,可以根据具体需求来灵活的扩展适合的认证方式。不过在 Security 提供了更加具体的实现方式,也包含了 Cookie, JwtBearer, OAuth, OpenIdConnect 等较为常用的认证实现。

2023-03-12 15:00:12 314

转载 手写一个.net 依赖注入容器(1)--核心概念

该章节参考 asp.netcore框架揭秘(蒋金楠著)第3章。该片文章记录一个自己定义的依赖注入容器,在这个过程中我们可以:看到具体使用的那些技术,比如反射等一个依赖注入容器需要包含的几个概念用到的一些面向对象的设计模式和设计原则废话不多说,我们开始吧。

2023-03-12 14:42:15 121

转载 asp.net core依赖注入原理

通过这篇的文章,我们了解到了一个依赖注入容器需要用到的几个概念和一些反射的知识。接下来,我们解析一下.net下依赖注入的设计。.net下的依赖注入相关的NuGet包有两个,一个是Microsoft.Extensions.DependencyInjection.Abstractions,另一个是Microsoft.Extensions.DependencyInjection。前者是抽象,包含了接口定义和一些公共的基础数据类型。后者是抽象的实现,里面有DI容器的默认实现等等。

2023-03-12 14:30:45 320

转载 ASP.NET Core 运行原理解剖[4]:进入HttpContext的世界

在第一章中,我们介绍到,WebHost 在启动 IServer 时,会传入一个 IHttpApplication 类型的对象,Server 负责对请求的监听,在接收到请求时,会调用该对象的 ProcessRequestAsync 方法将请求转交给我们的应用程序。再后来,提出了 ASP.NET 5 与 MVC6,完全是基于OWIN的模式来开发的,再到今天的 ASP.NET Core,OWIN的概念已被模糊化了,但是还是随处可以见到OWIN的影子,并且也提供了对 OWIN 的扩展支持。

2023-03-12 14:23:11 329

转载 .NET6 了解NET Core运行原理剖析

Program类的代码是vs自动生成的,并且对于大多数项目来说很可能已经足够了。另外,它设置了DI容器,我们在其中添加了服务。ConfigureServices作用即实现了依赖注入(DI)的配置,只有把服务添加到服务容器中才能让这些服务可以通过依赖注入的形式在应用中使用。IApplicationBuilder 定义用于配置应用请求管道的类,ASP.NET Core 请求管道包含一系列请求委托,依次调用。ASP.NET Core 应用使用 Startup 类,按照约定命名为 Startup。

2023-03-12 14:08:50 405

转载 ASP.NET Core 运行原理剖析

在Startup中必须定义Configure方法,而ConfigureServices方法则是可选的,方法会在程序第一次启动时被调用,类似传统的ASP.NET MVC的路由和应用程序状态均可在Startup中配置,也可以在此初始化所需中间件。这节讲解了ASP.NET Core在运行时首先加载Program类下面的Main方法,在Main方法中指定托管服务器,并调用Startup类中的Configure和ConfigureServices方法等完成初始化;Map只接受路径,并配置单独的中间件管道的功能。

2023-03-12 13:59:50 218

转载 Vue2-响应式系统之computed

Vue2-响应式系统之computed

2023-03-11 16:35:39 3231

转载 Vue2-响应式系统之watch2

Vue2-响应式系统之watch2

2023-03-11 16:10:39 150

转载 Vue2-响应式系统之watch

Vue2-响应式系统之watch

2023-03-11 14:44:16 110

转载 Vue2-响应式系统之nextTick

Vue2-响应式系统之nextTick

2023-03-11 14:03:43 768

转载 Vue2-响应式系统之异步队列

Vue2-响应式系统之异步队列

2023-03-11 12:04:11 73

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除