合集- DotNetCore
摘要:回到目录 新宠儿 DotNetCore是.net5.0版本,之所以不叫.net5.0为的就是不让我们把它与前面的.net混为一淡,它将是真正意义的跨平台开发语言,在网上也有相关介绍,中国的一些大牛也发了相关文章,像张善友大牛也发了几个文章,来介绍.NetCore,这段时间,大叔将会一步一步说说这个跨
阅读全文
摘要:使用dotnetCore发布站点后,它的处理请求能力不逊色IIS等大型服务的能力,号称每秒能处理115万个请求,太牛X了也。 先看看它支持的数据库 以下主流数据库都是为支持的 Microsoft SQL Server SQLite Npgsql (PostgreSQL) MySQL Microsof
阅读全文
摘要:回到目录 这几天对PS情有独忠,被它的强大功能所希引,它可以快速部署,快速发布,将一些连带的动作一次的完成,挺方便,类似于早期的bat文件,也像linux平台的bash脚本,但功能上,比前两者都要强很多,下面我们看一下将某个解决方案下的所有项目一次publish的过程,我们使用ps脚本来实现的。 注
阅读全文
摘要:回到目录 NetCore正式版已经出现有段时候了,Windows下使用vs2015开发.netCore应用程序,然后通过dotnet程序开启WEB服务,用着很像node.js,当然我们不会于只局限于windows,.netCore自出生以来,就是为了跨平台而引入了,Linux是一个更稳定和通用的生产
阅读全文
摘要:回到目录 对于.netCore来说,今年已经推出了正式版,这要求使用vs2015的开发者需要升级到beta3版,而如果使用老版VS开始的.netCore应用程序,它的架构版本将为是测试版"version": "1.0.0-rc2-3002702",而对于这个问题,将会给我们部署带来麻烦,在一个新的c
阅读全文
摘要:之前的几个月在“跟谁学”平台上录制了一些视频,得到了不少开发者的支持,并在实际工作中也帮助了不少人,自己当然也很开心,下面介绍一下跟谁学课程的目录 如何成为一名合格的架构师 勤奋 善于总结 善于学习,嗅觉要好 善于发现 仓储大叔讲系统架构 专注于dotNet架构和dotNet Core架构 主讲:仓
阅读全文
摘要:回到目录 提前1个多月把2.0发布出来了,小微真的把持不住了,哈哈! windows上安装 http://mp.weixin.qq.com/s/ueJdhaBBCHga0sQlVD6YiQ https://github.com/dotnet/core/blob/master/release-note
阅读全文
摘要:回到目录 上一文章,主要介绍Dockerfile里各参数的含义,以及在项目文件里这些内容的含义,因为大叔认为官方和网上其它文章说的有些模棱两可,不太好让大家理解,所有我又从新写了一个大白话的文章,希望可以给大家一些帮助.<DotNetCore跨平台~Dockerfile的解释> 本文章主要对一个wi
阅读全文
摘要:回到目录 dotnet core 回到目录 docker 大叔感觉网上对Dockerfile的说明不是很清楚,或者说怎么去用说的不清楚,在vs2017里我们可以去建立自己的Dockerfile文件,然后你的项目可以被生成一个镜像,把它推到仓库之后,你可以在linux,mac上去run你的项目了!听着
阅读全文
摘要:回到目录 理论闲话 之前在.netFramework平台用的好好的,可升级到.net core平台之后,由于不再需要二进制序列化,导致咱们的事件机制遇到了问题,之前大叔的事件一直是将处理程序序列化后进行存储的,处理存储的参数为事件源,一个事件源可以由多个处理程序订阅,当事件源被发布时,这些被序列化的
阅读全文
摘要:回到目录 新建console项目之后,编译程序出现以下错误: Can not find runtime target for framework '.NETCoreAPP, Version=v1.0' compatible with one of the target runtimes: 'win1
阅读全文
摘要:回到目录 在.net frameworks的ef里连接mysql我们已经测试通过了,而在dotnet core里的efCore上去连接mysql我们需要测试一下,并且在测试过程中出现了一些问题,当然最后也是解决了,下面总结一下,分享给大家! mysql项目的依赖包 数据上下文和连接串 对于mysql
阅读全文
摘要:回到占占推荐博客索引 本索引目录主要包括仓储大叔对dotnet core架构的研究与知识积累,从2016年开始进行撰写,到今天已经有一年多了,其中有一些小知识,小技巧,小应用,希望给大家在开发时一些启发,也希望dotnet core越来越好,希望2.0正式版快点出来! 我们的框架应该是基于组件化的!
阅读全文
摘要:这个不是nginx的问题,也不是dotnet core的问题,也不是mvc的问题,更不是防火墙的问题! 原因在于这个SeLinux 把它关了就可以了 感谢这个文章的作者! http://www.cnblogs.com/hager/p/5689493.html
阅读全文
摘要:回到目录 在进行.net core平台之后,我们如果希望在请求过程中添加一些事件是非常容易的,你可以把这些事件做成一个中间件Middleware,然后这些中间件就会以Http pipeline的管道方式进行相应,并且它们就像是一个职责链,从你定义的第一个中间件开始,一个一个向下传递,直到最后一个中间
阅读全文
摘要:在进入dotnet core时代之后,测试驱动开发TDD的主要工具不再是微软的nunit,取而代之的是更通用的xunit,微软把它集成到了dotnetcore的项目里,在安装完成vs2017之后,你可以很容易的建立一个xunit单元测试项目,并且我们的dotnet宿主命令也有对它的支持,当然你在进行
阅读全文
摘要:回到目录 Dapper作为小型ORM的代表作品被我们应用到了dotnet core的项目中,下面将把自己在项目中使用dapper进行curd操作的过程写一下,后期可能会遇到一些问题,大叔也会在这个系列之中进行完善,希望对各位学生有所帮助! 一 安装nuget的dapper包包 二 在startup中
阅读全文
摘要:回到目录 进行dotnetcore之后,各种对象都是基于DI进行生产的,这就有了对象的生命周期一说,早在autofac里也有相关知识点,这与Microsoft.Extensions.DependencyInjection是完全温和的,方便大家理解,在讲今天的组件化之前,先对DI的三种生命周期进行理解
阅读全文
摘要:回到目录 古人云《一山不容二虎》,而进行dotnet core时代之后,我们可以看到这样的一些官方的DEMO,它将数据连接串和其它配置项都直接硬编码在代码里,即在startup中进行定义,试问你在生产环境如何兼容!当然,你会说,可以在对应appsettings里进行配置,说它是对应的appsetti
阅读全文
摘要:回到目录 TransactionScope是.net平台基于的分布式事务组件,它默认为本地事务,同时当系统有需要时可以自动提升为分布式事务,而对系统的前提是要开启MSDTC服务,必要时需要在数据库服务器与应用服务器之间添加hosts的映射,这些在之前已经写过很多文章了,在这里不再说了。 之前对Tra
阅读全文
摘要:回到目录 写这篇文章的心情:激动 Microsoft.Extensions.DependencyInjection在github上同样是开源的,它在dotnetcore里被广泛的使用,比起之前的autofac,unity来说,它可以说是个包裹,或者叫适配器,它自己提供了默认的DI实现,同时也支持第三
阅读全文
摘要:回到目录 首先要清楚本文是讲dotnetcore项目在生产和测试环境部署的,这在过去的frameworks项目里,我们可以通过设置web.config的环境变量,然后再发布时指定具体的变量,去实现生产环境和测试环境的发布,发布之后,每个环境有自己的配置文件,frameworks会更新环境把web.c
阅读全文
摘要:回到目录 问题的产生的背景 由于我们使用了jenkins进行部署(jenkins~集群分发功能和职责处理),而对于.net core项目来说又是跨平台的,所以对它的项目拉取,包的还原,项目的编译和项目的发布都是在一台linux的jenkins节点上进行的,而我们开发时是在windows系统,所以在进
阅读全文
摘要:回到目录 之前写过一篇文件《DotNetCore跨平台~Quartz热部署的福音~监控文件夹的变化》,今天主要把框架优化了一下,支持外部触发,并支持外部将参数以JobDataMap形式进行输入,然后在咱们的Job里进行使用它,故称参数化任务。 Quartz使用场景: 今天说的外部触发的任务是指第一种
阅读全文
摘要:回到目录 在DotNetCore出来之后,同时也使用了quartz进行调度中心的设计,将它做到docker里方便部署,在之前的quartz版本里支持配置文件的方式,而现在不支持了,我们应该去想一下,为什么不去支持配置文件?当然大叔也为配置文件设计了支持的方式,但我们还是应该想想作者为什么不去支持配置
阅读全文
摘要:回到目录 对于dotnet Core来说,依赖注入的集成无疑是最大的亮点,它主要用在服务注册与注入和配置文件注册与注入上面,我们一般会在程序入口先注册服务或者文件,然后在需要的地方使用注入即可,下面主要介绍一下实体配置和集合配置的方式. 看一下配置文件代码段 无论是实体还是集合,都应该先把配置文件注
阅读全文
摘要:回到目录 对于DotNetCore来说,把大部分组件者放在DI容器里,在startup中进行注入,在类的构造方法中进行使用,如果某些情况下,无法使用这种DI的方式,也可以自己控制数据上下文的生产过程,下面说一下。 一 标准注入+构造方法使用 数据上下文的定义,带参数的构造方法,注意他和使用什么类型的
阅读全文
摘要:回到目录 对于传统的nuget包,我们习惯上用官方或者大型组织的,因为它们比较考靠谱,但就在前两天.net core2.0发布后,我把efcore也升级到2.0了,mysql.EfCore也升级到支持2.0的最新版了,然后奇葩的事情发生了,EF用不了了! Mysql和EF的包包信息 Microsof
阅读全文
摘要:上周一个大件就是dotnet core2.0发布了,伴随着.NET Standard2.0也发布了,整个微软的生态环境大好,当然也有一个BUG出来了,比如EFCore对Mysql的支持比起1.1来说,还是有缺陷的,这个相信很好解决,今天主要说一下在windows里安装了jenkins和dotnetC
阅读全文
摘要:回到目录 DotNetCore里一切都是依赖注入的,对于appsettings这个可扩展的配置对象也不例外,它位于项目根目录,一般在startup里去注册它,在类中通过构造方法注入来获取当前的对象,以便去使用它,当然我们也可以自己去构建和使用它,下面我就来总结一下。 传统方法,startup注入,构
阅读全文
摘要:DI越来越重要 DI就是依赖注入,现在来说,大部分框架都是以DI为基础组件的,每一个框架都有自己的DI组件,像dotnet core,java spring等,也都为自己的框架量身打造了DI工具。 面向对象的几个原则 依赖倒置原则(DIP):一种软件架构设计的原则(抽象概念)。 控制反转(IoC):
阅读全文
摘要:"到目录" 在dotnetcore里,连接mysql数据,插入中文时出现无法识别,并提示插入失败的情况,分析后得知它是编码问题,即数据库编码问题,你的中文在数据表里无法被识别! 解决方法(一) 进行mysql控制台 执行下面语句即可 解决方法(二) 建立数据库或者修改数据库的编码为utf8即可 解决
阅读全文
摘要:"回到目录" 我的那些年(11)~去一家创业公司做架构师 入职培训 去守香饭店吃饭 来到新公司,有压力,有挑战 新的dotnet core框架 docker用到了生产测试 给大家做了相关的技术培训 业务复杂,专业性比较强 开发几个微服务项目,并与java为微服务对接 守香饭店关门了 入职培训 201
阅读全文
摘要:缓存来了 在dotnet平台有自己的缓存框架,在java springboot里当然了集成了很多,而且缓存的中间件也可以进行多种选择,向redis, hazelcast都是分布式的缓存中间件,今天主要说一下后者的实现。 添加依赖包 dependencies { compile("org.spring
阅读全文
摘要:"LindDotNetCore模块介绍" "大叔博客" LindDotNetCore相关模块介绍 [x] 全局都是依赖DI [x] 消息队列 [x] NoSql [x] Caching [x] 仓储 [x] 服务总线 [x] Solr [x] 调度 [x] 日志 [x] Asspect拦截组件 [
阅读全文
摘要:回到目录 在使用autofac这个DI工具时,我们一般使用的是构造方法注入,而dotnetcore的标准框架里也集成了构造方法注入,而属性注入在一些场景下,表现的更为灵活,像java的spring框架里就有@Autowired注解来实现属性的注入,而autofac这个框架也提示了属性自动注入的方式(
阅读全文
摘要:回到目录 Json动态序列化属性,主要为了解决一个大实体,在返回前端时根据需要去序列化,如果实体里的某个属性在任务情况下都不序列化,可以添加[JsonIgnore]特性,这种是全局的过滤,但是更多的情况下我们需要的是,按着某种场景去序列化某些属性,下面举例说明。 两种场景,B2C场景和C2C场景,它
阅读全文
摘要:回到目录 直接把它阿里云的镜像覆盖到原来的/etc/apt/sources.list文件 这样再进行apt-get update就快了 apt-get install就可以安装你的程序了,在dockefile里也可以把它添加,方便你的容器里安装软件,这样可以一劳永逸! 这样以后安软件就快了。 回到目
阅读全文
摘要:回到目录 概念 ISoftDelete即软删除,数据在进行delete后不会从数据库清除,而只是标记一个状态,在业务范围里都不能获取到这个数据,这在ORM框架里还是比较容易实现的,对传统的ado来说需要对sql统一进行拦截和条件过滤. 实施步骤 代码实现 1 实体继承ISoftDelete 2 数据
阅读全文
摘要:"回到目录" 环境 环境,对于开发来说就是部署的一种场景,你可以是调试场景,测试场景,生产场景,当然还可以有很多其它的场景,只要你的项目需要就可以自定义,微软帮我们定义了三种标准的环境变量,下面来说一下. 默认定义三种场景 1. Development 开发环境 appsetting.Develop
阅读全文
摘要:"回到目录" Aspect面向方面编程 面向侧面的程序设计(aspect oriented programming,AOP,又译作面向方面的程序设计、观点导向编程、剖面导向程序设计)是计算机科学中的一个术语,指一种程序设计范型。该范型以一种称为侧面(aspect,又译作方面)的语言构造为基础,侧面是
阅读全文
摘要:回到目录 路由前缀就是我们所说的api/values里的api,这里的api可以用其它具体含义的字符表示,如Shop,Order,Game,它可以表示一个个模块,这一般在单体架构里;也可以是一个个小服务,这一般在微服务架构里. 对于基于微服务的设计理念里,我们每个模块都成了一个网站,一个服务,它们的
阅读全文
摘要:回到目录 网关在硬件里有自己的定义,而在软件架构里也有自己的解释,它就是所有请求的入口,请求打到网关上,经过处理和加工,再返回给客户端,这个处理过程中当然就是网关的核心,也是Ocelot的核心,我们可以把用户授权,校验,缓存,认证等很多关注点在网关中实现! 善友大哥收录的:http://www.cs
阅读全文
摘要:回到目录 Polly是一个开源框架,在github上可以找到,被善友大哥收录,也是.App vNext的一员! App vNext:https://github.com/App-vNext GitHub:https://github.com/App-vNext/Polly NanoFabric是一个
阅读全文
摘要:回到目录 因为docker上的大部分镜像都是基于linux系统的,所以在向图像中写中文时需要考虑中文字体问题,例如在microsoft/aspnetcore2.0这个镜像,它是基于debian系统的,它上面只有一个英文字体,所以在输出中文时会出现乱码,这是正常的,我们的解决方案也需要按着以下步骤即可
阅读全文
摘要:"回到目录" 任务调度组件 1. 位于Scheduling目录 2. 基类JobBase,所有JOB都派生自它,重写Cron属性可以修改调度周期 3. 支持单次JOB,即执行完成后马上停止 4. 支持对外API接口,以便获取和修改JOB的列表的状态 源代码展现 自定义Job在继承JobBase之后,
阅读全文
摘要:"回到目录" Mock在单元测试里的意义 Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以 便测试的测试方法。 一个闹钟 根据时间来进行提醒服务,如果过了 下午5点钟 就播放音频文件 提醒大家下班了,如果我们要利用真实的对象来测试的话就只能苦苦等到下午五
阅读全文
摘要:"回到目录" 职责链模式 它是一种设计模块,主要将操作流程与具体操作解耦,让每个操作都可以设置自己的操作流程,这对于工作流应用是一个不错的选择! 下面是官方标准的定义:责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一
阅读全文
摘要:"回到目录" LindDotNetCore中间件 大叔认识中间件就是主要对 http请求进行拦截 ,然后添加具体个性化功能的逻辑,这种把请求切开,添加新逻辑的方式一般称为面向方面的逻辑AOP! 1. 授权中间件 2. 请求链跟踪中间件 3. 响应时间中间件 授权中间件 请求有效性的校验 授权参数 客
阅读全文
摘要:"回到目录" LindDotNetCore基础介绍 1. 运行环境 2. 配置文件 3. 服务的注册 4. 配置文件的注册 5. 服务的使用 6. 配置文件的使用 运行环境 vs2017+.netcore2.0,vs需要升级到最新包 配置文件 appsetting.json,我们提出了开发环境,测试
阅读全文
摘要:"回到目录" LindDotNetCore相关介绍 相关模块 1. 全局都是依赖DI 1. 消息队列 1. NoSql 1. Caching 1. 仓储 1. 服务总线 1. Solr 1. 调度 1. 日志 1. Asspect拦截组件 1. UAA授权 1. 各种组件环境的搭建 1. 各模块单元
阅读全文
摘要:回到目录 dotnet pack 命令生成项目并创建 NuGet 包。这个操作的结果是两个 nupkg 扩展名的包。一个包含代码,另一个包含调试符号。 该项目被依赖的 NuGet 包装被添加到 nuspec 文件,因此,他们能够在安装包时得到解决。默认情况下,项目到项目之间的引用是不打包到项目中的。
阅读全文
摘要:回到目录 当我们进行软件开发时,一般会写单元测试,而对于业务情景来说,一般是测试它的业务逻辑准确性,对于你的测试数据是否来自数据库还是文件,是否为真实还是模拟,并不是很关心!我关心的就是我的业务逻辑是否正确! 所以我们的单元测试在调用底层接口时,尤其是数据持久层的接口时,一般可以使用mock的方式,
阅读全文
摘要:回到目录 单元测试大叔认为有几下两个必要的作用,也是为什么要上单元测试的原因 目前添加了组件正确性的测试,在组件进行升级和优化之后,需要走一篇测试流程,以它的正确! 有条件的同学,可以在自己的源代码管理上添加pipeline,在你的新项目修改迁入后,让它自动进行测试,这样也可以保证项目的质量! 这应
阅读全文
摘要:回到目录 你在windows上使用图像组件没有任务问题,但部署到linux之后,将注意以下几点: 安装gdiplugs的方法 大叔总结的方法ubuntu && debian centos 官方提供的方法: Ubuntu 16.04: Fedora 23: CentOS 7: 感谢各位阅读! 回到目录
阅读全文
摘要:回到目录 之前写了关于自动化测试的相关文章,包括gitlab,unittest,jenkins pipeline等,基于都是功能点的测试,当我们的框架或者业务修改之后,需要走一篇自动化测试,以此来保证我们的修改过的功能是正确的,而今天主要说一下流程测试,从api网站的入口,从一个请求开始到结束这个过
阅读全文
摘要:在CI/CD流行至极的今天,你的项目没有自动化测试绝对是不可以接受的,在进行自动化部署和持续集成时,我们的dotnet core项目也是可以实现自动化的,之前说过gitlab,jenkins对持续集成的影响,而今天说一下微观点的概念,“单元测试”,这个早已不是什么新东西了,像dotnet平台也有自己
阅读全文
摘要:最近在搞jenkins pipeline的部署工作,而在对.net core进行部署时不希望安装dotnet sdk,为了移植性更好,打算直接使用aspnetcore的docker镜像,通过docker去run它,而在这个时间出现了一个问题 docker run aspnetcore:2.0之后如果
阅读全文