.net core
文章平均质量分 75
Marzlam
志远行近/一步一个小目标-每个阶段做最好的自己~ 五年计划启动中·
展开
-
使用net core优势/为什么使用
为何要选择netcore原创 2022-07-04 11:38:36 · 734 阅读 · 0 评论 -
Asp.Net Core跨域cors
.Net Core跨域同源策略是什么为何要有同源策略 限制请求AJAX同源策略限制为何还有跨站请求伪造攻击如何应对请求伪造攻击防范有AJAX跨域需求怎么办Net Core如何设置跨域权限 使用CORS浏览器之间访问网站的时候 安全性体现在一种 同源策略同源策略是什么浏览器同源策略:同源指协议、域名、端口皆相同为何要有同源策略 限制请求AJAX出于安全考虑,主要时为了防止CSRF(Cross-site request forgery),中文名称:跨站请求伪造攻击【利用用户的登录专改发起恶意请求】原创 2021-08-09 14:17:41 · 231 阅读 · 0 评论 -
Asp.Net Core 认证与授权
首先来弄清认证(Authentication) 授权 (Authorization)生活举例:去澡堂洗澡,花钱之后给个澡牌,这就叫认证,拿着澡牌就可以进行澡堂的大厅里了,之后 男的去 男澡堂,女的去女澡堂,这就叫权限。花钱在程序中 就是 登录,澡牌就是 Token 令牌也好标识也好都可以这么理解。一般认证和授权都是结合使用,不过你要是开了一个 男女混合澡堂不需要男女分开权限得需求也不是不可(滑稽~~言之有理)认证和授权发展方式发展方式...原创 2021-08-06 19:02:54 · 678 阅读 · 0 评论 -
.Net Core的日志系统
日志类型:调试日志、追踪日志、诊断日志、事件日志调试日志: 运用 调试器 Debugger 静态类里面的一些方法输出在Debug 下编译才生效,Relase下编译后不起作用。public static void Run() { Debugger.Log(0, null, "只是一个日志"); Console.Read(); }追踪日志: 观察者模式/发布订阅模式public static void Run()原创 2021-08-02 17:38:23 · 1107 阅读 · 0 评论 -
Asp.Net Core 偷懒实用类库之 AutoMapper
若不清楚dto的使用请先翻阅此文章 数据传输对象的了解什么是AutoMapper?一种自动映射对象关系的工具。为什么要用AutoMapper?为了偷懒。当需要俩个对象类似且关系转换的时候,不想手动循环写代码,一对一赋值属性。想用工具来省事。怎么用AutoMapper?开发步骤:0引入包 还有在使用得地方引入命名空间 using AutoMapper; 和实体得命名空间1.建立好 实体类 以及对应 映射类2.配置好对应关系,以及注册服务3.控制器 依赖注入使用AutoMapper原创 2021-07-23 14:39:49 · 1312 阅读 · 1 评论 -
Asp.Net Core 偷懒实用类库之 Mediatr
若不清楚dto的使用请先翻阅此文章 数据传输对象的了解什么是MediatR?1.一种关注于对象的消息传递机制(无其他外部依赖)2. 参考中介者模式实现的一个 .NET 工具类库3. 俩种表现一种单播消息传递 CQRS 命令一种多播消息传递 发布订阅什么是中介者模式?说白了就是 有个中间商 在中间协商为什么要使用MediatR?给控制器瘦身读写分离如何瘦控制器?臃肿:之前控制器是接参数然后判断一下业务逻辑,去调用底层处理方法。如果业务复杂,可能控制器代码就会不断丰原创 2021-07-20 18:50:22 · 623 阅读 · 1 评论 -
Asp.Net Core 中的垃圾回收机制 CLR GC
知识点 先说一下 基础的一些CLR 知识点 然后 细讲 GC1:值类型 引用类型 堆栈 堆2:值类型 引用类型 存储空间是在 堆栈还是堆一般来讲 值类型 存在 堆栈上 类似于 堆鞋盒一样 先进后出 按照方法内顺序 一个个系统开辟栈空间引用类型 对象是在栈上 而引用所指向的值是在堆上注意 !! 但是 引用类型的对象 比如一个类 它里面可能还有的成员是值类型 那么 引用类型里面的值类型成员变量 也会存在 堆上也就是说 new 出来的东西 一般都是原创 2021-07-19 14:11:17 · 705 阅读 · 0 评论 -
Asp.Net Core 3.X使用 Swagger + jwt模式
什么是Swagger?什么是jwt?Swagger就是一个查看api接口的一个文档工具,方便使用测试,你可以理解为方法都被罗列出来,而且postman测试的输入方法url的过程也被解析了,省事。jwt是一个认证授权的工具,json web token,它相较于传统session,cookie这种较麻烦承载认证的验证方式更方便。怎么使用Swagger+jwt?1.引用nuGet 包Swashbuckle.AspNetCore -SwaggerSwashbuckle.AspNetCore.F原创 2021-07-19 13:58:04 · 807 阅读 · 0 评论 -
ASP.NET Core 第五节 第三方依赖注入 Autofac 以及 scrutor
前情提要:Asp.Net Core内置DI只支持构造函数契约模式接口抽象去推给容器让框架去注入实例化对象。解释说明:我理解这其实是框架有意为之,目的就是为了让服务定位明确还有边界分明如果使用服务定位模式(反模式)或者 属性注入,程序集注入,最大不同的一点就是 定位模糊,要么批量要么注入一个提供者自己在注册服务定位模式(反模式)生活示例: 我想吃鱼,告诉框架,给我鱼吃,然后内置DI 在容器先实例化一个 提供者极为鱼竿,然后用鱼竿钓鱼给到你。服务定位模式就是,我想吃鱼,告诉框架,给我鱼竿我要钓鱼,然原创 2021-07-18 00:22:41 · 350 阅读 · 0 评论 -
Asp.Net Core 文件系统和配置选项
文件系统和配置选项文件系统静态文件文件目录项目启动默认文件配置文件文件检测文件系统静态文件什么是静态文件?就是静态资源,js css image 这些一般放在项目哪个位置?wwwroot文件夹下 所以wwwroot 文件夹理解为 静态资源根目录整个项目根目录与静态文件根目录区别?整个应用程序启动的时候,WebHost.CreateDefaultBuilder() 中默认下把项目的当前目录设置为内容根目录,也就是项目右键 文件管理器目录静态资源根目录就是 wwwroot,所以访问静态资源只原创 2021-07-12 18:05:16 · 374 阅读 · 2 评论 -
Asp.Net Core 读取配置文件的多种方式 看这一篇就够了!
读取方式直接读取单个值读取json对象---变成类使用注册服务读取自定义读取注意事项!!!以此json文件为实列{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*", "JwtSetting": {原创 2021-07-06 18:35:05 · 5212 阅读 · 1 评论 -
后端开发的数据理解
程序的最终核心是 --数据 不论前端的 数据显示 还是 后端的数据分析处理数据库层面的内容先不谈,主要说一下.net开发 或者说是用VS2019 开发 写c#代码的层面大致理解为 1:定义数据说明 2:定义数据操作 3:处理数据调用一:定义数据说明就是要说明 哪台服务器 哪个数据库 哪些表 哪些字段 哪些主外键关联盖楼首先是要打地基怎么说明呢?配置文件的连接字符串 都知道是连接数据库。 表和字段还有主外键属性 都是建立对应的类也就是Model。...原创 2021-05-23 12:48:21 · 482 阅读 · 0 评论 -
Net Core 管道机制
IApplicationBuilder app 请求管道 中间件(func<>委托) 在这个配置中心 做的工作就是 说明一下委托 然后呢 放到list中app.Use 添加一个中间件(func<>委托)app.Run添加一个人工建造终端中间件(func<>委托)app.UseMiddleWare() 自定义中间件(func<>委托)原理是:1 在配置 app.use 和 app.run的时候其实是源码 Applicatio...原创 2021-05-21 10:07:44 · 831 阅读 · 0 评论 -
.Net Core 基础篇之配置文件
配置文件 指的就是appsettings.json 文件如何读取 ?必须有一个 管理者 using Microsoft.Extensions.Configuration;然后根据IConfiguration 的实例化对象去管理 (一般core会直接依赖注入,直接用就行)//成员public IConfiguration Configuration { get; }//构造函数 依赖注入public Startup(IConfiguration configuratio...原创 2021-03-23 21:34:08 · 804 阅读 · 0 评论 -
DDD领域专题系列二:设计/概念
总结上一篇DDD: 将数据为核心 处理业务 转变为 以业务为核心 产生数据 从而达到下面4个效果通用语言 统一思想:统一项目各方业务、产品、开发对问题的认知,而不是开发和产品统一,业务又和产品统一从而产生分歧。领域抽象 明确分工:域模型需要明确定义来解决方方面面的问题,而针对这些问题则形成了团队分钟的理解。而且抽象开来领域模型 反映变化:需求是不断变化的,因此我们的模型也是在不断的变化的。领域模型则可以真实的反映这些变化。可伸缩性 边界分离:领域模型与数据模型分离,用领...原创 2021-03-17 13:47:40 · 230 阅读 · 0 评论 -
DDD领域专题系列一:初识
DDD:就是 Domain Driven Design 领域驱动设计这是个什么东西呢?简单来讲 就是 将聚焦于数据的模式 转换成 聚焦于 业务的模式将对数据使用实现业务 转变为 一个业务领域中使用数据 各个领域都有边界 之后各个领域 交流 使用 业务通用语言沟通为什么要用?以前 用单体架构 先设计数据库 完事之后 实现业务 从数据库拿数据 处理业务 是这样一个流程。但是现在 SOA微服务架构开始火了,分布式高并发现象级业务应运而生,这个时候 就...原创 2021-03-16 14:06:59 · 174 阅读 · 1 评论 -
ASP.Net Core第三节 依赖注入 IOC容器
IOC 容器 DI 依赖注入 是什么? 为什么有这个东西?传统的做法1:实列化一个 对象的时候 都是 new 一个class A 如果说 之后 要改名字的话 需要找到所有 实列化的地方 去改名字2:在构造函数的时候 如果有继承层级关系 比如 A-B-C-D 那么构造函数需要构造4次由于这些主动改起来过于难受 于是引发思考,有没有一个可以帮助去操作这些对象细节的东西?这个东西 就是 IOC 容器 (第三方操作者) IOC 的含义就是控制反转 就是 把控制权不是...原创 2020-12-20 13:57:56 · 246 阅读 · 0 评论 -
ASP.Net Core-第二节课 启动流程, 主机,配置,环境变量
Asp.Net Core 底层和FW 已经大变样了 从VS2019 创建一个 项目结构就可以看出来空模板里面的 内容很少 包括Program Startup appsetting.json 以及一个launchsrtting.jsonProgram 是程序入口 可以 理解到 这个程序是一个 控制台的程序 可以命令行启动appsetting.json 类似于 之前的 webconfig...原创 2020-12-20 13:56:42 · 286 阅读 · 0 评论 -
ASP.Net Core第四节 根容器/子容器 生命周期 实列化问题 服务注册
先总结一下上节 依赖注入IOC容器控制反转 目标 主动 --被动 DI依赖注入 实现手段小结:依赖于抽象 以及 IOC容器 服务注册得说明 来 注入 实例化对象 从而 解耦/屏蔽细节 让项目得重用性更高接下来就 看生命周期 以及 根容器...原创 2020-12-20 13:56:24 · 634 阅读 · 0 评论 -
ASP.NET Core 第一节课-初识
1.dotnet 在GitHub上现在 .net 5 大统一了首先 github 上看一下 dotnet 内容https://github.com/dotnet/2.使用C#语言的很多 不止是微软 .net FW .net core 再用 有Unity 游戏引擎 还有移动端的 Xamarin mono(在没有开源net core 之前 前身是 asp.net mvc 已经开源了 这个时候mono可以跨平台了)这么多用c#的 有的是 客户端 有的服务端 有的移动端 ...原创 2020-12-03 21:29:01 · 170 阅读 · 0 评论 -
.NET Core 第一节课 - 起源
.net 是一个平台.net Freamwork 底层框架.net Core底层框架原创 2020-11-21 18:13:14 · 224 阅读 · 1 评论 -
asp.net core 控制器过滤器
建一个类 继承IActionFilter方法执行前/后 俩个方法写上 有逻辑的补充示例是:第三方调用接口后 如果需要返回内容 在请求头里面 加 不为空参数NeedRtn 作为标识 返回成功消息public class ThirdActionFilter: IActionFilter { public void OnActionExecuted(ActionExecutedContext context) { //执行之后 如...原创 2020-10-20 17:45:36 · 372 阅读 · 0 评论