07 2018 档案
摘要:依赖注入(DI)不是一个新的话题,它的出现是伴随着系统解耦的需要而几乎必然产生的。 在SOLID设计原则中,DIP(Dependency inversion principle)——依赖倒置,规定了“需依赖抽象,而非实现”的准则,该原则主要目的是通过引入抽象(比如接口)的方式降低模块之间的耦合性。与
阅读全文
摘要:一个典型的ASP.NET Core应用程序会包含Program与Startup两个文件。Program类中有应用程序的入口方法Main,其中的处理逻辑通常是创建一个WebHostBuilder,再生成WebHost,最后启动之。 而在创建WebHostBuilder时又会常常会指定一个Startup
阅读全文
摘要:之前的文章记述了 "从ASP.NET Core Module到KestrelServer" 的请求处理过程。现在该聊聊如何生成ASP.NET中我们所熟悉的HttpContext。 当KestrelServer启动时,会绑定相应的IP地址,同时在绑定时将加入HttpConnectionMiddlewa
阅读全文
摘要:WCF作为.NET Framework3.0就被引入的用于构建面向服务的框架在众多项目中发挥着重大作用。时至今日,虽然已有更新的技术可以替代它,但对于那些既存项目或产品,使用新框架重构的代价未必能找到人愿意买单。 而在.NET Core平台环境中,WCF也并没有被完全列入迁移目标。WCF的服务端被搁
阅读全文
摘要:当需要向某特定URL地址发送HTTP请求并得到相应响应时,通常会用到HttpClient类。该类包含了众多有用的方法,可以满足绝大多数的需求。但是如果对其使用不当时,可能会出现意想不到的事情。 博客园官方团队就遇上过这样的 "问题" ,国外博主也记录过类似的情况, "YOU'RE USING HTT
阅读全文
摘要:ASP.NET Core程序现在变得如同控制台(Console)程序一般,同样通过Main方法启动整个应用。而Main方法要做的事情很简单,创建一个WebHostBuilder类,调用其Build方法生成一个WebHost类,最后启动之。 实现代码一目了然: 要想探寻其内部究竟做了哪些操作,则需要调
阅读全文
摘要:.NET Core对于传统.NET开发人员而言是既熟悉又陌生的新平台,所以有时遇上出乎意料的事情也纯属正常情况。这时只需点耐心,多查查资料,努力找到原因,也未尝不是件有意义的体验。 比如当建完一个最简单的控制台应用程序: 并完成编译后: 你在bin目录下会发现生成的程序集是dll文件,而非之前经验里
阅读全文
摘要:熟悉ASP.NET架构的开发者一定对于HTTP Modules与HTTP Handlers不陌生。两者的作用主要是对网络请求执行特定的处理工作。而在.NET Core中,它们都被Middleware(中件间)取代了。 之前的Http Modules和HTTP Handlers是如下图般处理请求的:
阅读全文
摘要:.NET Core的生态圈随着开源社区的力量不断注入至其中,正在变得越来越强盛,并且不时得就出现些有意思的项目,比如Peachpie,它使得PHP的代码迁移到.NET Core项目变得可能。 从创建简单的入门程序开始可以更容易地体会其特性。 首先安装Peachpie的模板: 接着创建项目: 然后切换
阅读全文
摘要:.NET Core 2.1引入了一个新的功能,Global Tools,其本质是包含控制台应用程序的nuget包,目前而言,还没有特别有用的工具,不过相信随着时间的推移,各种有创意或者实用性强的Global Tools会出现在大家的视野里。 安装一个Global Tools很简单,输入一条命令 ,名
阅读全文
摘要:.NET Core自2016年推出1.0版本开始,到目前已是2.1版本,在其roadmap计划里明年更会推出3.0版本,发展不可不谓之迅捷。不少公司在经过一个谨慎的观望期后,也逐步开始将系统升级至最新的.NET Core平台,所以现在开始进行.Net Core开发可谓正当其时。 因为.NET Cor
阅读全文