随笔分类 -  02-Asp.Net Core

摘要:一. 前言 1.关于JWT的Token过期问题,到底设置多久过期? (1).有的人设置过期时间很长,比如一个月,甚至更长,等到过期了退回登录页面,重新登录重新获取token,期间登录的时候也是重新获取token,然后过期时间又重置为了1个月。这样一旦token被人截取,就可能被人长期使用,如果你想禁 阅读全文
posted @ 2020-03-09 15:58 Yaopengfei 阅读(7048) 评论(5) 推荐(7) 编辑
摘要:一. 总结1 1. IWebHostEnvironment获取常用属性 (1).获取项目的根目录 _env.ContentRootPath 等价于 Directory.GetCurrentDirectory() (2).获取项目下wwwroot目录 _env.WebRootPath (3).获取项目 阅读全文
posted @ 2020-02-25 16:54 Yaopengfei 阅读(713) 评论(3) 推荐(0) 编辑
摘要:一. 前言 1.说明 本章节重点介绍JWT的利用不同程序集的几种写法及认证方式,然后复习一下JWT的组成。 其他概念参考:https://www.cnblogs.com/yaopengfei/p/10451189.html 官网:https://jwt.io 2.JWT组成 样式:"xxxxxxxx 阅读全文
posted @ 2020-01-07 16:58 Yaopengfei 阅读(2307) 评论(3) 推荐(2) 编辑
摘要:一. 基本概念 1. 背景 通常我们将 AppSecret 和数据库连接字符串存储在配置文件中,web.config 或 appsettings.json,配置文件都需要提交到SVN 和git上,对于一些开发者自己用而不需要提交的数据, 并不想进行提交,这个时候可以存储到本地机密文件中。 或者一些机 阅读全文
posted @ 2020-01-01 20:12 Yaopengfei 阅读(689) 评论(1) 推荐(0) 编辑
摘要:整体说明:这里主要是借助依赖注入程序,在控制台上获取需要的相关类,然后进行使用对应方法的调用 (1).首先需要添加依赖注入的程序集【Microsoft.Extensions.DependencyInjection】 (2).添加所需组件对应的程序集,并进行Addxxxx (3).创建Provicde 阅读全文
posted @ 2019-12-31 08:21 Yaopengfei 阅读(1078) 评论(1) 推荐(0) 编辑
摘要:一. 数据保护 1.控制台步骤 通过Nuget安装数据保护程序集【Microsoft.AspNetCore.DataProtection】和依赖注入程序集【Microsoft.Extensions.DependencyInjection】,详见下面代码,进行数据的protect和unprotect。 阅读全文
posted @ 2019-12-30 21:10 Yaopengfei 阅读(726) 评论(1) 推荐(0) 编辑
摘要:一. 编码解码 1.编码 将信息从一种格式(人能识别)转换成另一种形式(计算机能识别)的过程。 常见的编码:Base64 2.解码 计算机能识别的形式转换成人能识别的形式。 3.字符集和字符编码 (1).字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各 阅读全文
posted @ 2019-12-27 14:53 Yaopengfei 阅读(1922) 评论(1) 推荐(1) 编辑
摘要:一 . 客户端IP白名单限制 1.通过中间件检测 新建中间件类AdminSafeListMiddleware,获取白名单ip,通过比较byte值来比较访问的ip是否在白名单中,如果不在,则返回401无权限。 然后在ConfigureService中进行全局拦截app.UseMiddleware<Ad 阅读全文
posted @ 2019-12-25 08:26 Yaopengfei 阅读(1491) 评论(3) 推荐(0) 编辑
摘要:一. 基本配置 1. 调试程序如何开启IIS (在vs中) 方法一:创建代码的时候勾选 方法二:手动开启:① 属性→调试→启用SSL ② 在Configure中添加:app.UseHttpsRedirection(); 进行全局拦截。 PS:以上两种方案配置完成后,在vs中访问http请求的地址,会 阅读全文
posted @ 2019-12-18 08:38 Yaopengfei 阅读(4194) 评论(3) 推荐(2) 编辑
摘要:1. 说明 BackgroundService 是用于实现长时间运行的 IHostedService 的基类,使用程序集:Microsoft.Extensions.Hosting。 2. 实现方式 继承BackgroundService类,然后override ExecuteAsync这个方法,在这 阅读全文
posted @ 2019-12-09 20:17 Yaopengfei 阅读(1076) 评论(3) 推荐(0) 编辑
摘要:一. Core Mvc 1.传统路由 Core MVC中,默认会在 Startup类→Configure方法→UseMvc方法中,会有默认路由:routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}"); 等价于 app. 阅读全文
posted @ 2019-11-13 15:11 Yaopengfei 阅读(3638) 评论(1) 推荐(1) 编辑
摘要:一. 基本概念 1.背景 使用 Web API 时,了解其各种方法对开发人员来说可能是一项挑战。 Swagger 也称为OpenAPI,解决了为 Web API 生成有用文档和帮助页的问题。 它具有诸如交互式文档、客户端 SDK生成和 API 可发现性等优点,目前有两种实现方式: (1).Swash 阅读全文
posted @ 2019-09-27 17:50 Yaopengfei 阅读(1484) 评论(3) 推荐(0) 编辑
摘要:一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方法名。 但是我们不喜欢这种方式,所以我们将默认的路由规则 [Route("api/[controll 阅读全文
posted @ 2019-09-20 17:32 Yaopengfei 阅读(4624) 评论(6) 推荐(3) 编辑
摘要:一. 背景 1.前世 提到HttpClient,在传统的.Net版本中简直臭名昭著,因为我们安装官方用法 using(var httpClient = new HttpClient()),当然可以Dispose,但是在高并发的情况下,连接来不及释放,socket被耗尽,然后就会出现一个喜闻乐见的错误 阅读全文
posted @ 2019-08-05 07:55 Yaopengfei 阅读(1828) 评论(4) 推荐(1) 编辑
摘要:一. 简介 关于Session的原理可参照Asp.Net版本Session的文章,去查阅。 1. 普通用法 (1).通过Nuget引入【Microsoft.AspNetCore.Http】程序集,Core Mvc中已经默认引入了,在哪使用using一下即可。 (2).注入Session相关的服务。 阅读全文
posted @ 2019-07-30 16:20 Yaopengfei 阅读(3609) 评论(2) 推荐(0) 编辑
摘要:一. 简介 1. 说明 提到过滤器,通常是指请求处理管道中特定阶段之前或之后的代码,可以处理:授权、响应缓存(对请求管道进行短路,以便返回缓存的响应)、 防盗链、本地化国际化等,过滤器用于横向处理业务,符合Aop思想,它也可以有效的避免代码的重复复制。 在Asp.Net Core中,有5种过滤器,分 阅读全文
posted @ 2019-07-23 17:01 Yaopengfei 阅读(3693) 评论(3) 推荐(3) 编辑
摘要:一. 整体说明 1. 说在前面的话 早在前面的章节中,就详细介绍了.Net FrameWork版本下MVC和WebApi的跨域解决方案,详见:https://www.cnblogs.com/yaopengfei/p/10340434.html ,由于在Core版本中,MVC和WebApi已经合并,所 阅读全文
posted @ 2019-07-15 22:16 Yaopengfei 阅读(2666) 评论(2) 推荐(2) 编辑
摘要:一. 视图缓存 1.对比与区别 Core中的ResponseCache和老版MVC中的OutputCache定位不一样,OutputCache是缓存在服务器内存中的,所以你给一个视图加上标签, 不管几个客户端(浏览器)访问,只有第一个进方法内,在缓存的有效时间里其他客户端都是从缓存中访问,不进实际方 阅读全文
posted @ 2019-07-10 17:04 Yaopengfei 阅读(950) 评论(1) 推荐(0) 编辑
摘要:一. 整体说明 1. 说明 分布式缓存通常是指在多个应用程序服务器的架构下,作为他们共享的外部服务共享缓存,常用的有SQLServer、Redis、NCache。 特别说明一下:这里的分布式是指多个应用程序服务器,而不是指将Redis或SQLServer部署成分布式集群。 2. 分布式缓存数据有以下 阅读全文
posted @ 2019-07-02 17:29 Yaopengfei 阅读(3195) 评论(12) 推荐(2) 编辑
摘要:1. 整体说明 ASP.NET Core 支持多种不同的缓存,最简单的缓存基于 IMemoryCache,它表示存储在 Web 服务器内存中的缓存,内存缓存可以存储任何对象,存储形式键值对,需要 .net standard 2.0 或者 .Net framework 4.5 或更高版本。 本节主要介 阅读全文
posted @ 2019-06-18 08:46 Yaopengfei 阅读(6281) 评论(3) 推荐(1) 编辑