摘要: 补充一下ServiceProvider的内容 可能上一篇文章DOTNET CORE源码分析之IServiceProvider、ServiceProvider、IServiceProviderEngine、ServiceProviderEngine和ServiceProviderEngineScope 阅读全文
posted @ 2020-03-22 16:37 李志章 阅读(363) 评论(0) 推荐(1) 编辑
摘要: 首先谈一下IServiceProvider IServiceProvider只提供给了一个根据类型获取对象的功能,试想一下IOC总得有一个找到对象,具体如下 public interface IServiceProvider { object GetService(Type serviceType) 阅读全文
posted @ 2020-03-21 21:57 李志章 阅读(1044) 评论(0) 推荐(0) 编辑
摘要: 首先谈一下IServiceCollection IServiceCollection是一个接口,它继承4个父接口,而且是和ServiceDescriptor挂钩,也就是说,它是保存ServiceDescriptor的一个数据结构接口,具体定义如下: public interface IService 阅读全文
posted @ 2020-03-21 20:03 李志章 阅读(824) 评论(0) 推荐(0) 编辑
摘要: ServiceDescriptor在.net core中的作用就是DI中注入服务元素的描述。每一个元素核心内容部分包括需要注入的服务元素的类型ServiceType,它对应的接口(如果有的话)ImplementationType,以及服务元素的生命周期ServiceLifetime。 源码中Serv 阅读全文
posted @ 2020-03-21 19:27 李志章 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: 我有一段比较常规的.net core mvc代码,就是StartUp函数中注册HttpContextAccessor到系统DI工厂中,如图: 然后调用方是service层,这个service层是使用autofac注入的,而且是单例注入,如图 service调用HttpContextAccesor如图 阅读全文
posted @ 2018-08-05 11:12 李志章 阅读(849) 评论(2) 推荐(1) 编辑
摘要: 首先先谈一下Equals()这个方法: Equals()方法,来自于Object,是我们经常需要重写的方法。此方法的默认实现大概是这样的: 由此可以看出,默认的实现其实比较的是两个对象的内存地址(==操作符默认比较内存地址)。值类型和string类型除外,因为所有值类型继承于System.Value 阅读全文
posted @ 2018-08-05 00:45 李志章 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 类的成员分为两类,静态成员(static member)和实例成员(instance member)。静态成员属于类,实例成员则属于对象,即类的实例。 简单讨论一下在一个类中使用静态字段(static field)和静态方法(static method)是否会有线程安全问题。 我们在知道, 静态字段 阅读全文
posted @ 2018-08-04 22:20 李志章 阅读(7405) 评论(1) 推荐(5) 编辑
摘要: 当KestrelServer启动时,会绑定相应的IP地址,同时在绑定时将加入HttpConnectionMiddleware作为终端连接的中间件。 1 public async Task StartAsync<TContext>(IHttpApplication<TContext> applicat 阅读全文
posted @ 2018-07-28 23:19 李志章 阅读(1216) 评论(0) 推荐(3) 编辑
摘要: 一个典型的ASP.NET Core应用程序会包含Program与Startup两个文件。Program类中有应用程序的入口方法Main,其中的处理逻辑通常是创建一个WebHostBuilder,再生成WebHost,然后启动项目。 1 public static IWebHostBuilder Cr 阅读全文
posted @ 2018-07-28 22:59 李志章 阅读(2643) 评论(3) 推荐(2) 编辑
摘要: 好久没写博客了,自己也弄不清是懒了还是忙了。毕竟白天需要工作,晚上有时候看看资料,有时候陪家人,有时候约朋友......更加累了,可能由于累了就懒得总结了。 今天有同事问我关于代码检查文件类型的问题。当然由于安全性不能直接使用文件后缀或者Mime检查,需要读取文件头,根据文件头来判断(作为判断的其中 阅读全文
posted @ 2020-03-10 21:46 李志章 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 当需要向某特定URL地址发送HTTP请求并得到相应响应时,通常会用到HttpClient类。该类包含了众多有用的方法,可以满足绝大多数的需求。但是如果对其使用不当时,可能会出现意想不到的事情。 对象所占用资源应该确保及时被释放掉,但是,对于网络连接而言,这是错误的。 原因有二,网络连接是需要耗费一定 阅读全文
posted @ 2018-08-19 21:55 李志章 阅读(8662) 评论(6) 推荐(13) 编辑
摘要: 本文基于.net core 的控制台程序作为服务端 main函数: 其中核心代码在Server这个类上面: 上面代码中,主要是基于Socket和线程。在构造函数中初始化了服务器端Socket,还初始化了Thread,并且设置为后台线程。ListenClientConnect函数主要做的事情是接受浏览 阅读全文
posted @ 2018-08-19 21:04 李志章 阅读(502) 评论(0) 推荐(0) 编辑