摘要: 在一个大型系统中,应该允许访问多个数据库,甚至是多个异构的数据库。例如表单模块使用mysql,数据仓库模块使用oracle等等。按照这个目标,数据的配置信息: 每个数据库都有一个Name(名称,以后都用这个名称访问)、ConnectionString(数据库链接串)、ProviderName(提供程 阅读全文
posted @ 2016-11-01 14:33 BenDan2002 阅读(2066) 评论(2) 推荐(2) 编辑
摘要: 上节,我们说明了封装分布式缓存的接口、配置以及在startup中的注册方式。下面的,我们具体介绍下,分布式缓存的具体实现。 第一个实现,将本地缓存作为分布式缓存,主要用于没有分布式缓存的情况,这样就可以不修改程序的情况下直接使用本地缓存。 第二个实现,使用redis作为分布式缓存。 如果想使用Mem 阅读全文
posted @ 2016-10-31 18:59 BenDan2002 阅读(1231) 评论(1) 推荐(2) 编辑
摘要: 为了加快系统运行效率,一般情况下系统会采用缓存技术,将常用信息存放到缓存中,避免频繁的从数据库、文件中读写,造成系统瓶颈,从而提高响应速度。缓存分为客户端缓存和服务器端缓存。 目前随着系统的扩展,服务器端缓存一般采取两级缓存技术,本地缓存和分布式缓存。部分常用、公共或者小数据量的信息保存在分布式缓存 阅读全文
posted @ 2016-10-29 19:07 BenDan2002 阅读(2769) 评论(0) 推荐(4) 编辑
摘要: 前面已经实现了Json配置源的方式,以及在Startup中注册使用我们的配置源。下面我们进入重点,就是如何实现数据库方式的配置。数据表对应的实体类和DbContext代码如下,就不写数据表的结构了:) 在.net core的文档中,也写了一个数据库方式。但是该方式,是每一个键值对都存放到数据库中,例 阅读全文
posted @ 2016-10-28 13:19 BenDan2002 阅读(899) 评论(0) 推荐(0) 编辑
摘要: 总所周知,配置信息是应用程序可变化的设置信息,存放于配置文件中,开发人员可以使用配置文件来更改应用的设置。.net core提供了多种配置方式,例如json文件配置,注册表配置、环境配置,xml文件配置等。其中大家常用的是一个json配置文件方式,即每个应用都有一个appsettings.json配 阅读全文
posted @ 2016-10-27 10:34 BenDan2002 阅读(1368) 评论(2) 推荐(2) 编辑
摘要: 目录结构 1 为什么搭建面向云的.Net core云开发框架 2 主要设计思路 3 项目解决方案 4 基础设施层 4.1反射工具 4.2多级可换源的配置(上) 42多级可换源的配置(下) 4.3可配置的分布式缓存(上) 4.3可配置的分布式缓存(下) 4.4 异构、多数据库的存取组件 4.5 .ne 阅读全文
posted @ 2016-10-27 10:03 BenDan2002 阅读(5565) 评论(8) 推荐(5) 编辑
摘要: 从上图可以看出,基础设施层是业务领域、应用服务、界面展示层的基础,为其他各层提供基础类库服务。 在整个解决方案中,基础设施层包含如下项目: Infrastructure 基础设施层 开发的底层类库 Core 包括缓存、配置、日志、常用工具、数据访问等核心组件 Core.Caching.Redis R 阅读全文
posted @ 2016-10-27 10:01 BenDan2002 阅读(2930) 评论(1) 推荐(0) 编辑
摘要: 在编写开发框架的时候,经常会使用反射。反射的作用主要是动态创建类型的实例,或者获取对象类型并动态调用方法、属性、字段等。 我们在以前的.net framework框架中,反射工具包含了许多方法,但是在.net core中由于appdomain等变化的原因,许多方法已不再使用。我只将重反射工具类(Re 阅读全文
posted @ 2016-10-26 14:06 BenDan2002 阅读(2416) 评论(2) 推荐(2) 编辑
摘要: 按照领域驱动设计的思路,我们搭建开发框架的解决方案如下: *该解决方案正在改造过程中,会随着改造的过程逐步完善。 解决方案目录 对应领域设计层 说明 Infrastructure 基础设施层 开发的底层类库 Core 包括缓存、配置、日志、常用工具、数据访问等核心组件 Core.Caching.Re 阅读全文
posted @ 2016-10-26 08:01 BenDan2002 阅读(1857) 评论(3) 推荐(3) 编辑
摘要: 为满足性能、扩展性、业务快速交付等方面的要求,新.net core云开发框架改造的主要思想是:高内聚、低耦合,即进一步实现纵向和横向分层,提高可伸缩性和可扩展性,实现弹性部署: 采用领域驱动设计进行架构横向分层,同时业务功能纵向分割 在代码和数据库设计上充分考虑云架构要素,提高可伸缩性、可扩展性、高 阅读全文
posted @ 2016-10-25 17:35 BenDan2002 阅读(2370) 评论(3) 推荐(2) 编辑