自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录使用ocelot+consul构建微服务踩过的坑

ConnectionToDownstreamServiceError: Error connecting to downstream service, exception: System.Net.Http.HttpRequestException: 由于目标计算机积极拒绝,无法连接。解决方式为。

2025-12-16 10:39:16 441

原创 从最简单的程序构建开始了解AspNetCore

AspNetCore程序构建的核心解析

2024-12-17 11:30:56 799

原创 理解基本的AspNetCore程序的构成

最终会调用到HostBuilder中的ResolveHost方法然后通过 serviceProvider.GetRequiredService();从容器获取到一个IHost对象(Host继承自IHost)但是还是无法确认这个IHost的其实就是Host,我们可以在类中继续寻找可以看到PopulateServiceCollection方法,该方法有一代码段明确标识使用了Host。通过对代码的追踪可以看到当Build被调用。

2024-12-16 16:00:47 459

原创 浅谈.netCore的DI注入

解决方式就是我们单例程序注入一个ServiceProvider解析服务,然后使用这个解析器我们创建出一个新的解析作用域服务这样我们就能实现互相访问。我们获取scoped周期的效果实际上和单例是一样的;因为客户端的周期是运行--结束,而transient的效果是每一次获取都是新的。我们开辟的新的作用域与此时api请求的周期是不同的所以我们这个周期种的Scoped注入,获取的实例是不同的。当然我们使用sp.CreateScope()开辟的是一个新的作用域,其中web程序周期是。

2024-11-07 09:28:58 315

原创 CancellationToken任务取消

明明已经取消了但是test这个委托方法还是一样执行完,换句话说就是我们在下面代码的cancel实际上的取消是不生效的。一但该委托开始运行(几乎立即发生),该取消令牌就会被忽略,当然除非存在严重的线程池争用或令牌。关于CancellationToken相信很多人和我一样有一个问题那就是。为什么呢那是因为取消的是对线程池的。被取消,否则无论如何都会被忽略。

2024-11-07 08:44:34 323

原创 Task创建的方式

Task的几种创建模式比较

2024-10-30 16:08:11 551

原创 使用拦截器(Filter)、构建全局统一的返回结果

这样我们就实现出了一个简单的全局统一的返回结果,当然拦截器的更多的作用还需要各位在使用期间慢慢发现!!

2024-10-14 14:29:30 607

原创 使用中间件来记录serilog日志

这里使用了2中记录方式使用微软原生的进行注入我没有去研究怎么把自定义列写入插入到数据库,所以在下面我使用了serilog的静态变量直接记录。当然如果想对日志进行更加详细的记录可以在运行的时候看一下HttpContext,在这里面接口的信息都会保存。其中serilog篇日志在上篇文章有简单的描述。

2024-10-12 09:57:27 603

原创 记录一下使用serilog的配置

这里使用的配置为三种分别是。

2024-10-11 11:28:59 607

原创 一些自己学习过程中的封装

wu-qian-qian/Wpf: 编成中那些工具 (github.com)

2024-08-26 21:37:13 163

原创 Task与Thread

我的理解为Task为一个操作(也就是一个委托)然后在使用Thread实例用来执行这个Task,当然Task里面做了许多复杂的封装需要反编译System.Runtime.dll。多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的。的,是比较高层级的封装,该文章为个人的猜想!

2024-04-28 12:55:56 263

原创 多线程和异步

多线程!=异步,但是异步是基于多线程,每个程序都有一条主线程,在我看来程序的执行是基于这条主线程的(该线程是被阻塞的),后续程序的功能调用都是由出现场进行触发调用(个人理解)

2024-03-25 22:23:19 412 1

原创 Socket

应用层(Application)-->表示层(Presentation)-->会话层(Session)-->传输层(Transport)-->网络层(Network)-->数据链路层(Data Link)-->物理层(Physical)Udp:head+date(head+date) 又进行拆分head+【date(head+date)】(head+head+data)Tcp:tcp会进行3次握手所以数据会安全head+【date(head+date)】(head+tcp标头+data)

2024-03-19 21:36:55 476 1

原创 堆栈与垃圾回收

("1","12","123")清理了2 ("1", “”,"123")产生不连续所以需要压缩到一块("1","123")所以导致地址移动所以修改变量指向所以出现全局阻塞。8、将s2=“111”此时只有s1未变,因为堆是连续摆放("1","12","123")分别占1,2,3个字符空间。6、struct 类型 中有一个引用类型属性,该引用类型被保存到堆中(因为值类型的长度是确定的,引用是不确定)3、托管资源(CLR控制,new 的对象,string的字符),非托管(数据库链接、文件流、句柄,手动释放)

2024-03-14 20:47:52 755 1

原创 线程的概念

就比如打印机执行---》需要该文件打印结束--》执行下一文件(注意该文件打印时可能会出现异常)(这间内的东西可以进行共享,如果车间A需要使用车间B的东西需要做特色操作【也就是跨进程】)单线程:也就是一个一个员工,需要等该员工完成该任务才能接收下一个任务。当一个进程被创建,他需要工作了工作就需要人手【车间开始工作】--》该任务结束人手回到指挥中心(线程挂起等待指挥中心分配任务)人手哪里来的,就是是由指挥中心分配而来--》线程和异步的关系:多线程是实现异步的一种方式。进程:一个进程相当于该工厂的某一个车间。

2023-04-25 13:29:37 113

原创 EF框架绑定SqlServer

在appsetting.josn文件进行添加自己的链接字符 Catalog=Factory.Test;为数据名称(不需要在数据中创建,使用EF可以自动创建)最后先点击(工具)--》(Nuget包管理器)--》(程序包管理器控制台)在执行一次上边的编码(注意Add-Migration (不可和上次相同))当然如果需要绑定MySql同理添加Mysql的包。这样你自己的SqlServer生成了数据,且带有表。如果后期需要对表的属性修改只需要该对应的映类型,绑定Sql我们就需要导入Sql的包。

2023-04-24 15:10:41 289

原创 框架的基础搭建

后期会有observer的介绍还有本人对一些功能模块的理解。下面我们开始对框架的搭建(一些基类就不做介绍)如有不理解可以联合整体架构了解或者留言!下面是对于GameCtorller。下一篇,为打包的分享。

2023-03-28 16:29:14 279

原创 IOC的优化

下面开始对Ioc的拓展(老规矩本章不对Ioc进行抽象如果有小伙感兴趣可以自己尝试,丰富自己的动手能力)其实对Ioc还可以继续拓展还就是获取当容器,以及移除容器;这些由各位小伙伴自行拓展。上篇文章讲到了基础的Ioc这篇文章我们将对其进行拓展方便我们框架的后期使用。如有问题,或是更好的想法欢迎留言!下面是容器ContentInfo的拓展。感兴趣的小伙伴的可拉取一下。

2023-03-24 16:59:59 146

原创 框架开篇Ioc控制反转

这里我把Ioc理解为一个工厂,并且我通过咨询(注册类型)让工厂知道我的业务逻辑,然后工厂知道我的业务逻辑就需要设计出存放货物的箱子(创建容器),等待我取的货物(直接获得实例化)。,通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。IocContainer 可以使用单例,这样只要处理业务的类被注册进去了就不需要要new是不是很方便!当然这都是官方的解释,对于刚接触的人可能不太理解,所以我把我的理解分享一下;(个人理解,如有问题欢迎指正!

2023-03-22 15:47:36 132

原创 框架学习1框架的入口

gameController这里采用了单例主要是方便使用,后期可能会被取缔。首先是框架的入口,主要是对gameController的初始化。一些理解可能存在问题,欢迎指正。如有不理解可以留言。这段为gameCtoller接口主要方便后期拓展。框架现有有基础形状有兴趣的小伙伴可以了解一些。这就是框架进入代码下一篇就要正式。

2023-03-21 12:05:17 144

原创 unity框架持续学习

先介绍自己的想法,可能描述不清;如果本人运气好被志同道合和您阅读到了这篇文章,有不清楚的地方可以留言。因为使用了这个框架让我感觉到了十分便捷,为了更好的理解所以有了自己写一类型的想法。最后把本人自己的一点成果展示一下(现阶段还在继续学习,继续编码。

2023-03-20 21:39:29 132

原创 2021-07-28

总结一下自己对于C#的反射理解从字面上理解反射是你通过镜子反射出自己,他虽然不是自己但是他具有和自己一样的外貌。而C#的反射其原理我觉得也和字面上的有些相似;为什么呢?人是听过镜子达成反射,而我们也可以用student(先创建一个Student类)(或者dll文件)当然我们并不调用这个函数的无参构造方法;而利用反射我们就可以间接拥有student类全部属性、字段、方法;而且反射还可以调用被private的。最后总结:反射是我觉得是一项工具,而且他是动态操作类,功能超级强大。到此是我现阶段对于反射的理解,

2021-07-28 17:19:53 129 1

空空如也

空空如也

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

TA关注的人

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