转载请注明出处: https://www.cnblogs.com/zhiyong-ITNote/ DI的大概过程抽象成如下:接口对象 <-- 实现对象 <-- 抽象对象 在抽象对象中引入接口,通过实例化接口对象来调用实现对象的方法或是成员变量.那么就需要实现或者生成抽象对象,一般在已有的IOC框架或是MVC框架中,都会有一个专门的抽象对象,该抽象对象会在IOC框架或者MVC框架中使用反射或其他的动态技术来生成.从而通过抽象对象来调用实现类的方法或是接口. 这里只是一个大概的解释,算是笔记吧,写…
可能有效的解决方案: 无法完全保证有效,因为我本地装上没问题,只帮同事解决过一次,貌似有效 方案就是多装几个 .net core 2.2.xxx 版本,然后可能就正常识别了. 在安装之前,先把 vs 升级到最新版本 首先我本地安装的是 2.2.104 dotnet --list-sdks 2.2.104 [C:\Program Files\dotnet\sdk] 可以先试试这个方案,如果不行就使用如下版本的.net core dotnet-sdk-2.2.101-win-x64.exe dotn…
dotnet core gRPC 原文在本人公众号中,欢迎关注我,时不时的会分享一些心得 HTTP和RPC是现代微服务架构中很常用的数据传输方式,两者有很多相似之处,但是又有很大的不同.HTTP是一种规范性.通用性.非常标准的传输协议,几乎所有的语言都支持,如果要确保各平台无缝衔接,可以考虑使用HTTP协议,例如现在常规的RestFUL,整个传输过程通常使用Json数据格式.以至于不管是前端还是后端都可以很好的对接. RPC协议不仅仅是服务间通信协议,甚至是进程间也存在.可以降低诸多微服务之间调…
本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台. 本文因为没有什么业务,也不想做管理系统,所以看到起来是很简单. VisualStudio 建议去官网下载最新的在线安装,然后安装,安装的时候需要选择通用平台开发.桌面开发.跨平台开发.如果你安装的不是中文版,请看下面图片找到差不多的位置,或者全部打勾. 点击安装,可以去睡觉,明天再看我的博客.因为 VisualStudio 的安装是很慢的,如果发现因为自己的网站无法访问,…
前几天,公众号后台有朋友在问Core的中间件,所以专门抽时间整理了这样一篇文章.   一.前言 中间件(Middleware)最初是一个机械上的概念,说的是两个不同的运动结构中间的连接件.后来这个概念延伸到软件行业,大家把应用操作系统和电脑硬件之间过渡的软件或系统称之为中间件,比方驱动程序,就是一个典型的中间件.再后来,这个概念就泛开了,任何用来连接两个不同系统的东西,都被叫做中间件. 所以,中间件只是一个名词,不用太在意,实际代码跟他这个词,也没太大关系.   中间件技术,早在.Net fra…
IoC框架最本质的东西:反射或者EMIT来实例化对象.然后我们可以加上缓存,或者一些策略来控制对象的生命周期,比如是否是单例对象还是每次都生成一个新的对象. DI实现其实很简单,首先设计类来实现接口,而不是把所有的程序逻辑写在一个类文件中,然后我们传入一个接口和一个继承自接口的类作为参数,然后我们在相应的函数那将泛型参数T作为形参,伪代码: //调用部分 HandleDI<ITest, Test> //实现部分 HandleDI<TInterface, T> // 使用反射,EMI…
ASP.NET MVC不可或缺的部分——DI(IOC)容器及控制器重构的剖析   IoC框架最本质的东西:反射或者EMIT来实例化对象.然后我们可以加上缓存,或者一些策略来控制对象的生命周期,比如是否是单例对象还是每次都生成一个新的对象. 之前对DI注入与控制器扩展竟然用依赖性解析器来实现,两个方面深感疑惑,由于越学越不懂,越学越头晕,因此就暂且放下了,接着学习,谁知道今天写程序涉及到这些,就继续研究了一下,哪知道,现在研究理解起来越来越顺手,思路也清晰,于是趁热打铁,大概的理解了一遍,虽说学习…
转载请注明出处:http://www.cnblogs.com/zhiyong-ITNote/ 在基于dotnet core的web开发中,我们会经常用到DI,那么如果单单使用dotnet core自身提供的一整套DI程序,该如何来实现呢?直接上代码吧: public interface IBar { void MethodOne(); void MethodTwo(); } public class Bar : IBar { public void MethodOne() { Console.W…
关于 Microsoft Extension: DependencyInjection 的介绍已经很多,但是多数偏重于实现原理和一些特定的实现场景.作为 dotnet core 的核心基石,这里准备全面介绍它的概念.原理和使用. 这里首先介绍概念部分. 1. 概念 该项目在 GitHub 的地址:https://github.com/aspnet/Extensions/tree/master/src/DependencyInjection Microsoft.Extensions.Depende…
今天,我们深度研究一下IHttpClientFactory.   一.前言 最早,我们是在Dotnet Framework中接触到HttpClient. HttpClient给我们提供了与HTTP交互的基本方式.但这个HttpClient在大量频繁使用时,也会给我们抛出两个大坑:一方面,如果我们频繁创建和释放HttpClient实例,会导致Socket套接字资源耗尽,原因是因为Socket关闭后的TIME_WAIT时间.这个问题不展开说,如果需要可以去查TCP的生命周期.而另一方面,如果我们创建…