自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

转载 电商系统架构总结4(webapi 版本控制)

为了 顺利迭代升级,web api 在维护过程是不断升级的,但用户是不能强迫他们每次都跟随你去升级,这样会让用户不胜其烦。为了保证不同版本的客户端能同时兼容,在web api接口上加入版本控制就很有必要了。当然,对于我们开发的代码进行版本控制也有利,不至于陷入混乱。版本参数可以放置在请求的url 作为路由参数的一部分,也可以放在header里。实现的办法是 实现IHttpC...

2018-05-12 15:31:00 115

转载 电商系统架构总结3(webapi授权机制)

三 Web API 授权方式web api的客户端,包括 android,ios,h5,自然对访问权限要加上授权机制。对于h5,要求把h5站点和web api部署在同一个域名下,然后对web api 配置为禁止跨域访问。而对 android 和 ios 等app端访问,则参考微信的签名验证方式,在请求url后面加上时间戳,随机字符串,以及加密后的签名。下面主要就app端授权实现代...

2018-05-11 17:59:00 135

转载 电商系统架构总结2(Redis)

二 Redis缓存考虑到将来服务器的升级扩展,使用redis代替.net内置缓存是比较理想的选择。redis是非常成熟好用的缓存系统,安装配置非常简单,直接上官网下载安装包 安装启动就行了。1 配置。redis安装后默认bind 接口是127.0.0.1,也就是本地回环地址。在开发环境下为了允许多个开发机器作为客户端访问,bind配置后面加上了本机局域网ip,如 bind...

2018-05-11 16:05:00 234

转载 电商系统架构总结1(EF)

最近主导了一个电商系统的设计开发过程,包括前期分析设计,框架搭建,功能模块的具体开发(主要负责在线支付部分),成功上线后的部署维护,运维策略等等全过程。虽然这个系统不是什么超大型的电商系统 数亿计的并发,但团队里的主要成员都有多年的开发经验以及电商的经验,系统设计方面还是麻雀虽小,但五脏俱全。系统客户端有 ios , android,H5,微信小程序,后台方面用...

2018-05-01 11:17:00 289

转载 web端文字转语音的几种方案

最近在开发一个微信排队取号的的系统,其中对于服务员端(管理端) 需要有呼叫功能,即点按钮 就播出"xxx号顾客请就座"的声音。经过在网上一番搜索研究,web端实现指定文字的语音播放 方案有这几种1 免费在线服务,一些网站提供文字转语音文件的功能,其中好像百度,讯飞还提供接口调用,但对我来说,需要联网这个条件就被否决了。2 使用微软内置activatex语音控件,最简单的但缺...

2017-10-09 16:00:00 862

转载 最精简的自定义.net 开发框架

一、 通过自定义的HttpModule和HttpHandler,重写url,自定义路由规则,实现 Web API功能。 简单说 就是 请求路径 例如 service/method, 那么就指向当前应用app下某个services的某个方法method。首先,实现IHttpModule,对于请求路径 符合自定义规则的,交给自定义的HttpHandlerpubl...

2017-09-19 01:57:00 122

转载 通过表达式树把datareader和datatable转换为实体

续上两篇文章,使用emit构造dynamic method,把 datareader转换为实体,以避免直接使用反射来实现带来的性能损失。代码看似没有纰漏,但是实际上我在framwork4下运行时,调用 dynamic method时,系统都会报 “ 找不到方法 ‘?’ ”的错误,没有找到问题所在,网上查了下资料,发现在framwork3.5以上还可以用表达式树动态构造 执...

2017-09-18 21:10:00 323

转载 再谈使用Emit把Datatable转换为对象集合(List<T>)

一、前因和存在的问题  前面我写了一篇《使用Emit把Datatable转换为对象集合(List<T>)》的博文,其实起源于我自己编写的一个orm工具(见前面几篇博文有介绍),里面已有用emit把datareader转换为List<T>的实现方法,但是需要增加一个把DataTable转换为List<T>的方法,在网上搜索了一些代码,经过改造,加入缓...

2013-10-13 23:08:00 178

转载 使用Emit把Datatable转换为对象集合(List<T>)

  Emit生成动态方法部分摘自网上,但是经过修改,加入了对委托的缓存以及类结构的调整,使之调用更简洁方便。大致的思路是:要实现转换datatable到某个指定对象的集合,本质是实现转换一个datarow到一个指定的对象。利用Emit动态构造该方法并缓存起来,调用时从缓存查找出来并调用,就这么简单。上代码: /// <summary> /// 把dat...

2013-09-29 17:11:00 171

转载 Windows服务程序的编写、调试、部署

l基本概念什么是Windows服务?作为.net开发人员,平常写的都是winform程序或者asp.net程序,可能对Windows服务程序接触的不多,下面我摘了个百度文献的解释给大家:MicrosoftWindows服务(即以前的NT服务)使您能够创建在它们自己的Windows会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启...

2012-05-20 17:11:00 99

转载 不要EntityFramework,不要NHibernate,打造自己的ORM(二)

我的ORM,暂时命名为LinFramwork吧,有如下特点:一 不仅支持若干主流数据库SQL Server,Oracle等,基于我前面随笔里阐述的通用数据访问组建原理,只要提供相关数据库ADO.NET Provider,并实现SQL解析的接口,还可以支持新的数据库类型。同时,对于调用者完全"透明",即开发人员只需定义数据库连接字符串即可,无须象其他ORM那样,还要在配置文件里加上数据...

2012-05-20 16:20:00 98

转载 不要EntityFramework,不要NHibernate,打造自己的ORM(一)

  Entity Framework和NHibernate是当前.NET里最强大的两个ORM框架,一个是微软官方出品,一个是开源项目代表之作。我在09年用过EF 3.5,在最近的一个项目里在使用NH,虽然无可否认这两个ORM框架功能都当强大,然而我在使用过程中还是觉得许多需要吐槽的地方。  首先说说EF,其实我最早接触的是Linq To SQL,但由于当时项目的后台数据库是Oracle,...

2012-05-08 01:36:00 102

转载 实现基于通用数据访问组件的三层架构之补充篇

   作为项目性应用系统的架构设计者,我总是追求框架的通用性和易用性。追求通用性,是因为也许当前项目的数据库是SQL Server,而下一个项目就是Oracle,也许当前项目是B/S架构,而下一个项目就是C/S架构,所以,当数据库或者系统架构发生变化的时候,通用性好的项目的框架的代码便不用作任何修改。追求易用性,是因为我见识了很多人包括所谓的技术大牛,为了追求使用某种流行技术的快感,把框...

2012-04-28 15:57:00 83

转载 实现基于通用数据访问组件的三层架构之实战篇

概述 本篇就以前文的理论基础来实现一个简单查询功能的三层架构作为实例演示。方便起见,数据库就用Petshop的数据库。闲话不多述 了。架构内容如下: 构建通用数据访问组件DbHelper(只实现一个简单查询方法Query(string sql)) 创建数据访问层,定义ProductDAL对象并实现一个方法GetProduct,读取xml文件的sql语句并调用Dbhe...

2012-04-20 17:19:00 161

转载 .NET三层架构的改进以及通用数据库访问组件的实现

前言 微软的三层架构示例项目PetShop是很多.NET开发人员学习项目开发的经典样本代码,很多人都是直接使用PetShop的架构来搭建项目,甚至许多著名的代码生成器,也是以PetShop架构作为模板生成项目。事实上我认为PetShop只是一个展示如何使用.NET技术的应用项目范例,若直接照搬用来用作实际项目开发的框架,还有很多地方需要改进,尤其是在实现多数据...

2012-04-06 15:22:00 180

转载 winform下使用缓存

  我们都知道 asp.net的缓存类是System.Web.Caching.Cache,那么在 winform项目中如何使用缓存呢?首先,我们要弄清楚Web程序与Winform程序的区别,一般来说,Web程序都是典型的三层架构,即数据库服务器+web应用服务器+浏览器客户端,由于一个web服务端服务于多个客户端,这种情况下,在web应用程序上为一些静态的,单例的,共享性的数...

2012-01-03 02:22:00 502

转载 重温Petshop 谈谈对三层架构的理解--兼发布一个通用的数据访问控件(oracle免装客户端)...

编写这个组件的需求灵感来自于看了某个产品(企业应用系统)研发项目的源码,该产品为了同时支持sql server 和oracle,照搬了微软的 petshop的代码作为系统架构,petshop相信很多.net程序员都非常熟悉了,里面所展示的三层架构大意是这样的UI层,BLL层,DAL层,UI层使用BLL层的服务对象,BLL使用DAL层的服务对象,其中BLL层对DAL层的引用...

2011-06-27 11:43:00 89

转载 如何搭建.NET Entity Framework分布式应用系统框架

一、 前言ADO.NET Entity Framework(以下简称EF)是微软推出的一套O/RM框架,如果用过Linq To SQL的人会比较容易理解,因为Linq To SQL是微软在.net FrameWork 3.0时推出的一套轻量级的O/RM框架,但是只支持SQL Server一种数据库。至.net FrameWork 3.5 sp1时,才推出En...

2011-04-07 10:45:00 170

转载 自动执行任务功能实现

在项目开发过程中,由于业务需求,我们需要系统定时自动执行一些业务操作,如每天生产结束时需要自动汇总统计当天的生产情况,记录各个部门的库存情况等,为此,我编写了一个windows服务程序实现了这个功能,因为这个功能只是实现自动定时执行工作任务,具体工作任务的实现代码封装在不同的dll中,就是说该程序和具体业务逻辑是非耦合的,通用性比较强,所以我把它共享出来,希望能为大家以后遇到类似需求时提...

2011-03-10 16:02:00 134

转载 泛型集合的序列化和反序列化

1. 泛型集合的序列化比较简单,和普通对象没有两样,但是.net FrameWork里面没有提供现成的API,这是一个我自己封装的一个方法,采用了object作为被序列化对象的参数类型,亦即可以接受任意类型的对象,并通过调用GetType方法获得被序列化对象的转换前的类型(或者说是被序列化对象的真正类型,object在c#里是所有对象的基类),牺牲了一点点类型转换带来的性能损失,但...

2011-01-15 20:22:00 299

转载 设计模式学习体会之单点模式

单点模式,适用于那种需要先实例化,但是实例化以后应用程序域内只需唯一实例那种场景。网上摘来的大致代码如下:public class Singleton{ Singleton() { } private static Singleton _instance = null; public static Singleton Ins...

2009-08-11 18:34:00 130

转载 asp.net mvc项目只能运行在iis根目录下吗?

接触了asp.net mvc一段时间后,一直有这种疑虑,怎么mvc项目只能设为iis根目录或者在debug状态下才能跑起来。上csdn提问,得到高人的解释是 iis6以下不支持空扩展名的路径,需要把某个iis支持的扩展名添加到routing中去,诸如 routes.MapRoute( "myRoute",...

2009-07-05 10:28:00 165

转载 在后台类中获取当前page对象

以前,在后台类里面要获取当前请求的一些信息的时候,就用HttpContext.Current对象,可以获取诸如 Request,Response,Server等针对当前请求的对象,但是如何获得整个page对象,却一直不晓得。 今天在解答别人问题时候,无意中搜索发现,System.Web.UI.Page page = HttpContext.Current.CurrentHandl...

2009-06-16 10:15:00 469

转载 c# 实现字符串倒序的n 种写法

最简洁就是linq的写法,推荐。// string concatenation with for looppublic string ReverseA(string text){char[] cArray = text.ToCharArray();string reverse = String.Empty;for (int i = cArray.L...

2009-01-07 17:09:00 545

转载 用vs新建web application 和web site是有区别

今天,新建了web application的时候,把旧代码移植过来的时候,发生好些问题。经过一番尝试,终于搞明白了事情的起因。旧代码是在vs 建立的web site。在web application中是无法使用的。1 是 在debug 状态下 编辑源码,只有web site下的代码才允许编辑。2 使用 user profile 也是只有 web site 才可以直接使用。...

2009-01-07 00:51:00 209

转载 优化ASP.NET应用程序性能研究与探讨

网站的性能对于ASP.NET程序开发人员来说非常重要。一个优秀的网站虽然有美观的页面设计,完善的服务功能,但是打开网页时有长时间的延迟,用户最终将会无法忍受。尤其对于大型的电子商务网站而言,每秒钟有数万用户同时访问,没有良好的网站性能,根本无法满足庞大的需求。  ASP.NET作为全新一代的动态网页生成系统,它在平台性能方面与原有的ASP相比已有了一个本质的提高。但要在此基础上开...

2006-09-26 17:51:00 70

转载 给自定义控件的属性提供用户界面

前不久给自己的分页控件的跳转按钮换成图片按钮, 添加了一个图像路径的属性,一边使用者可以自定按钮义图片,发现在使用的时候,不能象设置.net的内置控件如 HyperLink的ImageUrl属性那样,弹出选择图片文件的对话框,上csdn问了一下,然后查找了一下sdk,解决了这个问题在属性定义前加上标签[EditorAttribute(typeof(System.Web.UI...

2006-08-23 17:19:00 93

转载 页面回传的时候如何获取引发源?

在开发asp.net程序过程中,经常需要知道在页面发生postback的时候,是由页面上哪个控件引发的。比如页面上引入了一个用户控件,该用户控件有若干服务器端的按钮,由于点击事件都写在用户控件的后台代码里了,引用页面上却又想针对点击不同的按钮做一些不同的处理,但却没有办法知道点击的是哪个按钮;又或者,页面上有个按钮,我们想在想在执行button_click()方法之前先执行某些...

2006-08-21 17:42:00 71

转载 以模式窗口打开的页面回传时候要注意的地方

以模式窗口打开的页面发生回传时,默认状态是一新窗口方式打开的,所以容易导致程序出错,解决办法是在html代码<head></head>加上<base target=_self>转载于:https://www.cnblogs.com/lindping/archive/2006/04/28/2004846.html...

2006-04-28 10:28:00 92

转载 SQLServer和Oracle的常用函数对比

数学函数   1.绝对值    S:select abs(-1) value   O:select abs(-1) value from dual  2.取整(大)    S:select ceiling(-1.001) value    O:select ceil(-1.001) value from dual  3.取整(小)    S:select floor(-1.001...

2006-04-26 17:45:00 74

转载 在后台代码里实现在aspx页面任意位置插入html代码的好办法

记得在asp时代,没什么可说的了,直接在该位置嵌入服务器代码<% %>实现在asp.net,由于兼容asp,这样也可以,但总觉得不伦不类的,因为已经专门有个放置后台代码的cs文件了。。。我后来想到的办法是在该位置放置一个div,panel,label之类的服务器控件,然后用objectID.InnerHtml="xxx" 实现,但由于div, panel服务器控件...

2006-04-26 15:26:00 420

转载 写出了一条有点难度的sql语句。

表结构如下a 表网站webid,网站名称webnameb 表用户userid,所属网站webid,注册时间regtime要求:统计各个网站某天(yyyy-MM-dd)内用户注册数量咋一看:很简单 select a.id,a.name ,count(*) as regnumber from a inner jion b on a.webid=b.webid...

2006-04-24 18:55:00 104

转载 添加了清除日期的梅花雨日期控件

在使用大名鼎鼎的梅花雨日期控件的时候,发现一旦选了日期以后没有办法清除,于是在控件的关闭按钮旁边依葫芦画瓢,做了清除的按钮。 点击下载转载于:https://www.cnblogs.com/lindping/archive/2006/04/09/2004851.html...

2006-04-09 23:31:00 84

转载 公布本人自编的asp.net的分页控件

由于在开发asp.net的企业应用软件中,实在太需要第三方的分页控件了。因为datagrid内置的分页性能底下不说,样式也固定了而且简陋,无法满足客户需求。上网找过一些别人写的分页控件,但是很多都是和数据绑定一起的,用起来比较复杂,而且通用性不好,又没有开源,有的甚至要注册,逼不得已自己动手写了。一开始我用了用户控件方式写的,因为实现起来似乎比较简单,但可恶的是.net.1.1版本对...

2006-04-06 03:27:00 69

空空如也

空空如也

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

TA关注的人

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