.Net

DotNetCore跨平台~autofac属性的自动注入

回到目录在使用autofac这个DI工具时,我们一般使用的是构造方法注入,而dotnetcore的标准框架里也集成了构造方法注入,而属性注入在一些场景下,表现的更为灵活,像java的spring框架里就有@Autowired注解来实现属性的注入,而autofac这个框架也提示了属性自动注入的方式(PropertiesA...

DotNetCore跨平台~为debain系统添加阿里云加速

回到目录直接把它阿里云的镜像覆盖到原来的/etc/apt/sources.list文件cat>/etc/apt/sources.list<<EOFdebhttp://mirrors.aliyun.com/debian/stretchmainnon-freecontribdebhttp://mirror...

LindDotNetCore~ISoftDelete软删除接口

回到目录概念ISoftDelete即软删除,数据在进行delete后不会从数据库清除,而只是标记一个状态,在业务范围里都不能获取到这个数据,这在ORM框架里还是比较容易实现的,对传统的ado来说需要对sql统一进行拦截和条件过滤.实施步骤实体继承ISoftDelete数据上下文实现对IsDeleted的过滤对删除方法进...

LindDotNetCore~添加路由前缀

回到目录路由前缀就是我们所说的api/values里的api,这里的api可以用其它具体含义的字符表示,如Shop,Order,Game,它可以表示一个个模块,这一般在单体架构里;也可以是一个个小服务,这一般在微服务架构里.对于基于微服务的设计理念里,我们每个模块都成了一个网站,一个服务,它们的路由应该具有一定的可读性...

LindDotNetCore~Ocelot实现微服务网关

回到目录网关在硬件里有自己的定义,而在软件架构里也有自己的解释,它就是所有请求的入口,请求打到网关上,经过处理和加工,再返回给客户端,这个处理过程中当然就是网关的核心,也是Ocelot的核心,我们可以把用户授权,校验,缓存,认证等很多关注点在网关中实现!善友大哥收录的:http://www.csharpkit.com/...

LindDotNetCore~docker里图像上生成中文乱码问题

回到目录因为docker上的大部分镜像都是基于linux系统的,所以在向图像中写中文时需要考虑中文字体问题,例如在microsoft/aspnetcore2.0这个镜像,它是基于debian系统的,它上面只有一个英文字体,所以在输出中文时会出现乱码,这是正常的,我们的解决方案也需要按着以下步骤即可!问题表现linux系...

LindDotNetCore~Polly组件对微服务场景的价值

回到目录Polly是一个开源框架,在github上可以找到,被善友大哥收录,也是.AppvNext的一员!AppvNext:https://github.com/App-vNextGitHub:https://github.com/App-vNext/PollyNanoFabric是一个开源的微服务架构,也是善友大哥推...

DotNetCore跨平台~dotnet pack打包详细介绍

回到目录dotnetpack命令生成项目并创建NuGet包。这个操作的结果是两个nupkg扩展名的包。一个包含代码,另一个包含调试符号。该项目被依赖的NuGet包装被添加到nuspec文件,因此,他们能够在安装包时得到解决。默认情况下,项目到项目之间的引用是不打包到项目中的。如果你想那样做,你需要在你的依赖中引用需要项...

DotNetCore跨平台~为Lind.DotNetCore框架添加单元测试的意义

回到目录单元测试大叔认为有几下两个必要的作用,也是为什么要上单元测试的原因组件,框架在修改和BUG解决后,进行正确性的测试,然后才能打包业务模块,主要提现在进行业务规则的模拟上面,保证了业务逻辑的准确目前添加了组件正确性的测试,在组件进行升级和优化之后,需要走一篇测试流程,以它的正确!有条件的同学,可以在自己的源代码管...

DotNetCore跨平台~Moq框架实现模拟测试

回到目录当我们进行软件开发时,一般会写单元测试,而对于业务情景来说,一般是测试它的业务逻辑准确性,对于你的测试数据是否来自数据库还是文件,是否为真实还是模拟,并不是很关心!我关心的就是我的业务逻辑是否正确!所以我们的单元测试在调用底层接口时,尤其是数据持久层的接口时,一般可以使用mock的方式,即模拟一个接口,期望的参...

DotNetCore跨平台~System.DrawingCore部署Linux需要注意的

回到目录你在windows上使用图像组件没有任务问题,但部署到linux之后,将注意以下几点:安装nuget包ZKWeb.System.Drawing项目里还是引用System.DrawingCore,这点不用改安装gdiplus插件,这个需要根据linux类型不同,有不同的方法,大叔做了一下总结安装gdiplugs的...

DotNetCore跨平台~功能测试TestHost的使用

回到目录之前写了关于自动化测试的相关文章,包括gitlab,unittest,jenkinspipeline等,基于都是功能点的测试,当我们的框架或者业务修改之后,需要走一篇自动化测试,以此来保证我们的修改过的功能是正确的,而今天主要说一下流程测试,从api网站的入口,从一个请求开始到结束这个过程,我们可以通过Test...

DotNetCore跨平台~xUnit生成xml报告

在CI/CD流行至极的今天,你的项目没有自动化测试绝对是不可以接受的,在进行自动化部署和持续集成时,我们的dotnetcore项目也是可以实现自动化的,之前说过gitlab,jenkins对持续集成的影响,而今天说一下微观点的概念,“单元测试”,这个早已不是什么新东西了,像dotnet平台也有自...

DotNetCore跨平台~聊聊中间件

回到目录在进行.netcore平台之后,我们如果希望在请求过程中添加一些事件是非常容易的,你可以把这些事件做成一个中间件Middleware,然后这些中间件就会以Httppipeline的管道方式进行相应,并且它们就像是一个职责链,从你定义的第一个中间件开始,一个一个向下传递,直到最后一个中间件完成为止!前几天我写了在...

DotNetCore跨平台~xUnit和测试报告

在进入dotnetcore时代之后,测试驱动开发TDD的主要工具不再是微软的nunit,取而代之的是更通用的xunit,微软把它集成到了dotnetcore的项目里,在安装完成vs2017之后,你可以很容易的建立一个xunit单元测试项目,并且我们的dotnet宿主命令也有对它的支持,当然你在进行CI持续集成时可以使用...