自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

echoshinian100的专栏

欲登高而望远,勿筑台于流沙

  • 博客(21)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用JAVA实现的一个简单IOC注入实例

用JAVA实现的简单IOC实例

2017-09-14 11:12:38 3774 1

原创 在小型Web系统中使用缓存加速访问

在高并发的现代Web系统中,缓存体系是绕不开的话题。一直以来我们开发的系统处于内网环境中,而且服务器资源相对负载来说比较富裕,从未使用缓存。大型的Web系统往往会使用MemCache,Redis等缓存数据库来加速访问,还有诸如全站静态化和CDN等技术。而受制于技术复杂度。小型Web使用.NET自带的缓存技术,也可以非常好的提高访问速度。       在油水井图片库这个项目中,由于在模糊查询中不

2016-07-30 09:22:17 778

原创 油水井图片库开发总结

锦州采油厂油水井图片库(下称图片库)是一个很小的项目。是一个类似wiki的图片搜索管理网站。在项目中使用了一些新的概念,使其成为迄今为止结构最为清晰的一个项目。      一、仓储模式和增删改查      仓储模式是一个很老的概念了,抛开领域模型的概念。仓储应该是将持久层(一般是指数据库)中的实体(一般是指数据库中的表)映射为编程上下文中的集合。这样做的主要好处有三点:      1、

2016-07-19 11:24:58 785 1

原创 为什么要使用ABP框架?

我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋。一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度。      随着软件开发经验的不断增加,我们发现其实很多工作都是重复机械的,而且随着软件复杂度的不断提升,以往依靠经验来完成一些简单的增删改查的做法已经行不通了。特别是用户的要求越来越高,希望添加的功能越来多,目前这种开发模式,已经捉襟见肘。我

2016-06-06 16:19:40 27331 1

原创 架构是一种妥协

车辆调度系统陆续写了半年时间了,中间经历老人故去,儿子降生,一波三折。最近才静下心来写了一周时间,由于是在前一个版本上迭代开发的,整体速度还是很快的。而且在和尚兄的指导下,系统使用的技术有了很多进步。比如首次使用了Asp.net的窗体验证机制,EF的生命周期管理等东西。并且对界面做了一些改进,整体已经非常成熟了。从实现功能的角度来说是完全没有问题的。         我使用了三层架构来重新搭建

2015-10-05 21:20:43 747

原创 数据库是否应该应用外键的一点思考

最近看了和尚师傅的数据库设计。数据库表都是孤立的,不存在外键关系。虽然放弃了EF引以为傲的懒加载和导航属性等特性,实际编码量也会增大。但是带来的优点是灵活性非常高。表和表之间没有任何约束。当然这点也可以认为是有点。          我一直以为这种设计在互联网场景下比较适合。企业内部相对不变的管理系统可以使用主外键来提高开发速度,减少代码量。最近一个系统在上线之初就遇到了很大的分歧。用户几乎想

2015-07-21 10:58:32 1142

原创 定时作业框架Quartz.net的简单应用

在许多应用场景下我们都希望定时执行一些事务,比较常见的是维护数据库:定时生成汇总数据,定时复制插入数据等。其他特定场景下都存在这些定时任务。如果涉及数据库维护的定时任务,我们尚可以使用数据库自带的数据库代理来实现定时批处理。面对其他类型的定时任务,往往只能通过在服务器上编写windows进程等手段来简介实现。上述这些方法存在下列缺点:         1.需要学习特定的语言或API    

2015-07-10 12:18:30 785

原创 EasyUI Layout布局控件的缓存问题

在Layout控件中,经常需要在Panel中异步加载子页面,加载的子页面内容,不论是JS文件还是HTML,都会自动在后面添加一个随机字符,从而避免了缓存,也就是说在Panel中动态加载的内容,是不需要做版本控制的。其内容无法缓存。

2015-07-05 18:06:03 1031

原创 NPOI中实现列宽精确控制

NPOI生成Excel文件时,设置列宽只有一函数sheet.SetColumnWidth(),该函数有两个参数,第一个是行索引,第二个是行列宽。但是在实际使用过程中,设置的行列宽与产生的Excel文件行列宽不一致。经过实际测试,只需要加一个常量即可: sheet.SetColumnWidth(0, 16 * 256 + 200); // 200为常量,这样即可控制列宽为16

2015-07-05 18:00:42 5066 1

原创 配置文件简单使用

配置文件作为一种在编译文件外部灵活修改参数和设置条件的手段,应用范围非常广泛。其简单用法如下:          首先在配置文件的配置节中指定对应配置节的类型。一般为键值对类型。      使用时首先获得该配置节,并转化为键值对类型后使用: var version = ((NameValueCollection)System.Configur

2015-07-05 17:34:49 427

原创 初识ASP.NET MVC窗体验证与权限过滤---3.自定义过滤器验证Session超时

为了防止用户在seesion过期之后进行操作,可以添加自定义过滤器验证session是否过期,为了便于测试将过期时间设置为1分钟,在Filters文件夹下添加一个自定义过滤器。    namespace AuthStudy.Filters{ public class CustomFilterAttribute :ActionFilterAttribute {

2015-05-16 11:54:06 1509

原创 初识ASP.NET MVC窗体验证与权限过滤---2.基于角色的访问控制

上一篇完成了窗体身份验证并在客户端保存了鉴权cookies,系统已经知道我已经登录并获得了授权。但仅仅知道登录了是不够的,还要对能够访问的区域做出控制。男人不能进女厕所,女人不能进男厕所O(∩_∩)O哈哈~          这里就要来扯一扯AOP了,AOP是所谓的面向切面编程。听着好高端的样子。其实无非就是很多纵向解决起来很困难的问题,我们可以横向来解决。ASP.NET的管道事件,就是标准的

2015-05-16 11:16:55 697

原创 初识ASP.NET MVC窗体验证与权限过滤---1.窗体身份验证

一直不懂如何解决web系统的登录权限控制问题,在最开始的时候,我用了一个很土的方法。用户登录成功后就把用户的身份信息写到一个会话cookie中。这种方法非常的脆弱而且不安全。比如a用户登录后没有退出功能页面,此时他又登录了b用户的账户,身份cookie已经被改写成了b。如果此时他回到a用户的功能页上继续操作,轻则他会看到b用户的相关信息,重则会出现系统错误。         就算用户正常登录了

2015-05-16 10:40:59 877

原创 浅论ASP.NET MVC参数映射的优缺点

ASP.NET MVC中,参数映射或路由映射是一个非常简便的特性,可以直接将URL查询参数映射为控制器方法的参数。但是在实际使用中,还是要需要斟酌使用。         1、优点         简便,不需要从HttpContext上下文对象中来读取键值对。现在我们用控制起来实现一个两个整数相加,其代码大致如下: public string Add(int firstNum,

2015-04-27 16:29:24 1098

原创 利用Asp.net管道优化EntityFramework生命周期管理

HttpApplication是整个ASP.NET的核心,在第一次请求到抵达后,ASP.NET会创建大量HttpApplication对象置于对象池中并保持其存活。在后续请求的时候,ASP.NET会查看对象池中有无空闲HttpApplication对象,若有则直接使用,若都处于繁忙状态则重新创建。这也就是为什么网站第一次访问的速度很慢。        HttpApplication会不断处

2015-04-25 08:39:31 961

原创 EF中一种简单的多条件动态查询方法

多条件动态查询是任何一个数据系统都会处理的问题。如果使用纯SQL和数据库进行交互,可以使用SQLHepler之类的工具根据用户输入来动态生成SQL语句。在EF框架下,使用lambda表达式来进行多条件动态查询颇为麻烦。举个例子来说明吧。          数据模型类: class Person { public string Name; pu

2015-04-24 12:46:44 19528 1

原创 一种基于EF+MVC的小型系统快速开发架构

在一般的Web系统中,主要工作无外乎增删改查。事实上百分之八十的系统所做的工作也不外如是,不存在非常复杂的逻辑。只是数据的处理与展现。经过多次调整,整理出了一套基于EF+MVC的小型系统快速开发架构。主要思想是利用EF和泛型编程,将大部分的常用数据处理封装到DAL层中,在控制器中直接调用,大大提高开发速度。就目前来说,非常简洁实用。           1、依靠主外键关系编织数据

2015-04-19 18:06:27 1062

原创 ASP.NET MVC3 匿名类型视图模型无法识别的解决方案

1、将匿名类型赋给ViewBag然后通过反射读取      @foreach (var i in @ViewBag.Ages) { @i.GetType().GetProperty("Age").GetValue(i,null) }             2、借助JSON.NET,不过在RAZOR视图中失去了强类型的感知

2015-01-27 15:55:58 1729

原创 基于RBAC的Easyui树形权限菜单的实现原理

基于角色的权限管理

2014-09-28 15:56:10 3167 1

原创 JSON:C#与JS中的序列化与反序列化

在Web

2014-08-23 08:08:45 1639 1

原创 如何在NPOI中实现宽度自适应和高度自适应

由于系统需要在wa

2014-08-13 17:47:03 28967 2

easyui 1.3.2中文API

自己翻译的Easyui1.3.2中文API

2014-07-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除