TinyFrame升级之三:逻辑访问部分】的更多相关文章

在上一篇,我们打造了自己的数据访问部分,这篇,我们准备讲解如何打造逻辑访问部分. 在上一篇中,我们利用Repository模式构建了基于泛型的操作合集.由于这些操作的合集都是原子性的操作,也就是针对单表的操作,我们有必要为每个单表做增删改查操作,所以这里我们最好将泛型包装一下: 这里是IBook接口部分,它继承自IRepository接口,并承载了Book实体类 1: using TinyFrame.Data.DataRepository; 2: using TinyFrame.Data.Dom…
原文:[原创].NET 分布式架构开发实战之三 数据访问深入一点的思考 .NET 分布式架构开发实战之三 数据访问深入一点的思考 前言:首先,感谢园子里的朋友对文章的支持,感谢大家,希望本系列的文章能够真正的对大家起到一点帮助的作用.再次感谢大家. 大家也许想问,什么时候出代码,代码一定会出的,我不想一上来就开始抛出一大堆的代码,然后讲解,架构的设计在思考的过程,思考到了,代码也就水到渠成了. 上篇文章讲述在设计之初,Richard所画出的一些草图,本篇对之前的草图做了进一步的思考. 本篇的议题…
Android OTA 升级之三:生成recovery.img 作者: 宋立新 Email:zjujoe@yahoo.com 前言 得到了ota升级包后,我们就可以用它来升级系统了.Android 手机开机后,会先运行 bootloader. Bootloader 会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery 模式.Recovery 模式会装载 recovery 分区, 该分区包含recovery.img.recovery.img 包含了标准内核(和boot.img中的内…
centos7内核升级及curl访问https证书过期处理 先看下当前系统的linux内核版本 uname -r 3.10.0-229.el7.x86_64 升级步骤 1.rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 导入Key 2.输入:rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm来安装elrepo的yum源 3.在这个源…
在上一篇中,我列举了框架的整体结构,下面我们将一一说明: 首先需要说明的是TinyFrame.Data. 它主要用于处理数据库底层操作.包含EF CodeFirst,Repository,Unitofwork三个部分. 其中,DomainModel主要是用来存放实体类的: 1: namespace TinyFrame.Data.DomainModel 2: { 3: public class Book 4: { 5: public int ID { get; set; } 6: public s…
本章主要讲解如何为框架新增插件化开发功能. 在.net 4.0中,我们可以在Application开始之前,通过PreApplicationStartMethod方法加载所需要的任何东西.那么今天我们主要做的工作就集中在这个时间段: 1.将插件DLL及文件拷贝入主网站目录并编译 2.加载Plugin 首先来说说第一步,由于这步里面,我们主要拷贝DLL及文件,所以我们利用了一个List<Assembly>容器来记录所有的插件的DLL,具体代码如下: 1: using System; 2: usi…
背景:有一次定位问题发现,在同一个session连接中对MYSQL部分表加锁,导致其它未加锁的表不能访问. 用Spring管理MYSQL数据连接,在多线程访问数据库的情况下容易出问题.一个线程中对部分表加锁了,尚未释放.其它线程访问同一数据库中其它未加锁的表,也会访问失败. 测试了一把: 步骤一.使用Navicat连接MYSQL数据库.编写如下4句SQL. LOCK TABLES tbl_A WRITE; LOCK TABLES tbl_B WRITE; DELETE FROM tbl_B; U…
由于之前的TinyFrame多于简单,并且只是说明原理,并无成型的框架出来,所以这次我把之前的知识进行了汇总,然后做出了这一版的TinyFrame框架. 整个框架的结构如下: TinyFrame.Data主要负责底层数据部分,包括EF CodeFirst需要的DomainModel,DomainMapper,DataContext:用于提供数据操作存储的Repository模式:用于提供事务控制的UnitOfWork. TinyFrame.Repository主要继承自TinyFrame.Dat…
在这个框架中,我们使用Autofac作为IOC容器,来实现控制反转,依赖注入的目的. 在程序加载的时候,我需要将系统中所有用到的接口与之对应的实现进行装载.由于用户交互部分是在TinyFrame.Web中,并且请求入口是在Application_Start方法中,所以我在这里进行了注入: 1: private void RegisterDependency() 2: { 3: var builder = new ContainerBuilder(); 4:   5: builder.Regist…
在任何框架中,缓存都是不可或缺的一部分,本框架亦然.在这个框架中,我们的缓存分为两部分:内存缓存和单次请求缓存.简单说来,就是一个使用微软提供的MemoryCache做扩展,并提供全局唯一实例:另一个使用微软提供的HttpContextBase做扩展,用户每发送一次请求,HttpContextBase都会被关联创建.先来看下接口约束: 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: us…