自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (1)
  • 收藏
  • 关注

原创 企业应用框架基础模块

企业应用系统开发的越多,就会发现里面存在很多通用任务。如果把这些通用任务作为基础模块,整合到一个框架里面,以后开发项目就可以在这个基础上进行,可以加速项目进行。我从后端到前端总结了一些基础模块,主要是基于Asp.Net 的Web解决方案。供大家在实现此类框架时做参考。一. 后端1. 基础组件1) 持久层  SqlHelper , Enterprise Library, O/R

2014-03-01 20:11:47 4646

转载 AM PM

1. 24-hour clock system00:00:00 - 23:59:592. 12-hour clock system12:00:00 am - 11:59:59 am12:00:00 pm - 11:59:59 pm无00:00 am 或者00:00 pm 的It is incorrect to write 0:00p.m. The use o

2016-11-09 13:47:14 1427

原创 匿名对象的Distinct

在使用linq distinct集合的时候,发现匿名对象和非匿名对象的区别。 匿名对象自动实现了GetHashCode和Equals方法,Distinct可以自动去重。如果使用非匿名对象,则需要该对象override GetHashCode()和Equals(object obj)方法, 或者添加一个实现IEqualityComparer的辅助类,作为Distinct参数。参考下面

2016-10-25 15:35:55 516

原创 Windows Service 创建与安装

使用Vs的 Windows Service模板可以很方便地开发Windows服务。在Service文件 的设计界面,右键点击Add Installer,可以添加一个ProjectInstaller类,然后设定服务的运行账号,名称等。 #region Component Designer generated code /// //

2016-09-12 17:57:01 3262

原创 SQL Server Primary Key和Clustered Index

在创建Table设定主键的时候,SQL Server会自动创建一个对应的Clustered Index。如果使用Microsoft SQL Server Management Studio工具,发现这个Clustered Index只能删除,不能通过界面进行修改。这让人误以为在主键上只能建立Clustered Index, 实际上却不是这样的。   如果通过Script 创建,我们可以指定在主

2016-07-27 10:58:30 9145

原创 Cassandra 入门

一. 基本概念1. Primary Key, Partition Key, Clustering Key以下面的Table为例子:create table sample(      k_part_one text,      k_part_two int,      k_clust_one text,      k_clust_two int,      k_c

2016-06-13 20:05:40 3329

原创 Struct vs Class 作为HashTable或者Dictionary的Key

1. 使用Struct.     1) 使用Struct,如果成员都是简单类型,默认情况下,第一个成员相同的时候,GetHashCode 值相同。如果成员值全部相同,则两个Struct相等。      2) Struct的GetHashCode 和Equals效率低2. 使用Class    1) 必须实现GetHashCode,重载Equals方法(不然每次new 一个C

2016-05-23 15:35:03 1407

原创 网站安全性测试

网站安全性测试, OWASP

2015-10-20 15:13:06 2868

原创 应用系统Url交互之数据加密

应用系统在通过url交互的时候,通常对传递的数据有一定的安全性要求,采用加密算法是比较常见的实现途径。下面从通用角度,介绍我们的设计方法。一. 建立注册中心   1)  注册中心为各个系统建立登记信息,定义系统名称,并且分配APIKey。系统使用这个APIKey来调用注册中心的服务,获取AccessToken.   2) 建立两两系统间的访问控制关系,数

2015-09-24 16:00:07 1754

原创 微信企业号开发

基于微信企业号的H5应用,相对于单独客户端的应用,具有开发周期短、开发相对简单的特点。微信凭借于庞大的用户群,构建了一个内置于移动应用用中的"类应用商店"。用户只需关注,即可马上使用,完全免去下载的麻烦。基于这种优势,微信公众号开发可谓如火如荼。   微信公众平台的账号目前分为3类,分别为服务号,订阅号,企业号,基于是否认证,又区分为普通号和认证号...

2015-09-22 08:47:12 4031

转载 SQL Server 与 Oracle数据类型映射

Microsoft SQL ServerOracleCommentBIGINTNUMBER(19) BINARYRAW-BITNUMBER(3)-CHARCHAR-DATE

2015-08-18 08:52:04 1011

原创 ASP.NET Web API的版本化与安全性

使用Web API来构建Web 服务,是一件非常容易的事情。Web API使用Http协议, 具备良好的可访问性,尤其适于部署到internet. 作为服务,就有一个版本化和安全性的问题。

2015-08-05 10:36:20 3986

原创 WebRequest.GetSystemWebProxy()的效能问题

使用WebRequest 在Web后台发送请求,给request设定proxy,发现在特定账号下运行,调用WebRequest.GetSystemWebProxy(),会出现严重的效能问题。 var request = (HttpWebRequest)WebRequest.Create(new Uri(url)); request.Method

2015-05-29 13:03:37 2235

转载 Web站点性能监控的工具

TTFB5 Tools to Speed Up Your Web SiteWebPageTestGlimpse

2015-04-10 15:25:59 1707

原创 关于Asp.Net VNext的一些资源

1. 使用Redis作为ASP.NET Session State Providerhttp://blogs.msdn.com/b/webdev/archive/2014/05/12/announcing-asp-net-session-state-provider-for-redis-preview-release.aspx2.在asp.net运行后台任务https://

2015-02-19 20:37:07 528

转载 HTTP状态码

HTTP状态码HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的 3 位数字代码。0(无法访问)代码 说明 0     (无法访问)无法连接服务器或者域名不存在。 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一

2015-02-19 19:46:21 1458

原创 KendoUI学习笔记

1. Kendo的继承varPerson= kendo.Class.extend({。。。}

2014-07-25 15:05:50 3157

原创 jQuery Validation - 1.12.0 深度解析1

jQuery Validation是一个优秀的前端验证插件,默认zhic

2014-05-09 15:03:37 6086

原创 JavaScript 封装

1. 使用匿名对象

2014-05-08 11:40:27 819

原创 系统时区处理

随着云计算时代的到来,应用的用户可能来自世界各地,如果依然固执的认为时间都是北京时间,就有些固步自封了。时区的问题非常复杂,不时会让人陷入迷惘之中。下面我为介绍一下我项目中的经验,希望抛砖引玉,让我们且行且思考。 很久很久以前,一般企业应用都是这样假定的:客户端(使用者),应用服务器,DB服务器都位于同一个时区,它们的时间被精准同步。客户端时区 /

2014-04-10 11:00:16 4019

原创 树形数据在关系数据库的存储

树形数据在关系数据库中的存储同对象一样,都会遇到一个"阻抗不匹配"的问题。如何设计一个表结构,才能较好的满足需求呢?事实上,有很多解决方案,但是没有哪一种是放之四海而皆准的。我个人认为解决方案的选择,必须依赖于需求背景。抛弃需求背景而就技术泛泛而谈,就如同孔乙己对回字不同写法的孜孜追求,满身酸腐之气。凡事有得就有失,十全十美的方案是不存的,合适的就是最好的。下面就集中常见的方案做一下比对,然后

2014-03-25 15:34:34 6000

原创 系统多语言实践(二)

上一篇 我们介绍了静态多语言的设计,这篇我们介绍动态多语言的设计。1. 多语言存储假设下面一个场景:系统有一个产品目录需要维护,目录名称和描述需要支持多语言存储。表结构设计如下:PRODUCT_CATEGORY    PK栏位类型允许NULL描

2014-03-17 14:50:53 1359

原创 系统多语言实践(一)

应用系统支持多语言,在有跨国业务的公司中,是个很常见的需求。一般涉及到的语言有中简、中繁、英文、日语等。本文就.Net Web平台下实现该需求做一些初步探讨。在Asp.Net Web Form时代,微软就给出了一个解决方案。简单来讲,就是将多语言资料维护到*.{Culture Code}.resx文件中,绑定的工具根据该文件自动生成静态的多语言访问类。这个方案,简单实用。对于一般的小项目也

2014-03-14 14:38:46 3647

原创 MVC Anti-XSS方案

XSS攻击是用户提交到服务器的数据包含恶意JavaScript脚本,如果这种数据在存储或显示的时候不加处理,那么其它用户访问页面的时候,这些脚本可能被执行,轻则导致页面无法正常使用,重则导致重要信息泄露。    开发Web应用程序,需要从全局考虑这个问题,采取一致的处理方式,在整个开发过程中严格执行,避免产生XSS漏洞。下面分别就Form和Json两种数据提交模式,所采取的方案做一下介绍。

2014-03-12 17:24:42 5308 5

原创 开源组件的管理与应用杂谈

在企业应用中合理使用开源组件是个不错的方向。如果管理和应用呢,我谈一下个人的几个观点。首先,在管理方面,使用Nuget。Nuget能够管理外部组件的版本,依赖,引用等,而且被良好的集成到VS中。其次,应用方面,要使用接入的概念,在自己的产品主框架里面定义好接口,通过Adapter(Wrapper)模式,匹配外部开源组件接口。这么做可能基于以下原因:1. 所引入的开源

2014-02-12 10:06:36 1311

原创 动态组装Form提交数据并跳转

MVC中无法Post json数据到另外一个页面,可以动态组装一个Form提交到新页面。见如下代码:var data = ["34", "34343", "43t43t"];function postForm(data) { //var newForm = $('', { // 'action': '/scm/Config/Modify', // 'target': '_top', // 'm

2014-02-11 15:23:58 3714

原创 Oracle和SQLServer 数据类型映射

要同时支持Oracle 和SQLServer数据库,表设计的时候,栏位的数据类型是其中一个考虑因素。我采取的原则很简单:尽可能少的引入数据类型。然后根据下面的表格进行对应。OracleSQL ServerNUMBER(p[,s])decimal(p[,s])NUMBER(3,0)int

2014-01-20 10:27:51 1731

原创 动态项目引用与发布

很多项目都需要具备支持多种数据库的能力。在实现的时候,我采用的方式是使用同名数据库实现层覆盖的方式。具体如下:       数据接口层: Stock.IRepository       数据实现层: Stock.Repository : Stock.IRepository.     目前数据接口层有两个版本的实现,一个是SQL Server , 一个是Oracle, 编译后生成的dll

2014-01-17 10:58:13 1618 1

原创 MS 发布Web站点的执行流程

最近考虑做产品自动生成安装程序,看能否在这个流程中集成MS Build和Web 发布工具。先看了一下MS发布Web的执行流程。以发布到文件系统为例,主要步骤如下:1. 验证基础配置信息   $(PackageAsSingleFile)为 True ...2. 收集所有需要发布的文件    从项目项 @(IntermediateAssembly)中收集所有文件。正在添加:

2014-01-10 12:48:58 5454

原创 Razor与SPA,关于MVC-View实现的思考

微软在MVC4中,推出了一个SPA的实现框架,看上去非常酷。视频地址:http://channel9.msdn.com/Events/TechDays/TechDays-2012-Belgium/199。正好我最近也在考虑MVC中view的问题:按照传统的做法,View中会有Model, ViewBag, HtmlHelper , 直接创建对象等服务器端代码,但是这些是不是都可以用纯粹的html结

2012-10-05 15:30:55 2689

原创 Web前端开发技术

抛弃WebForm转向MVC开发将近一年,学习那些前端开发的技术,不免有种面朝大海,春暖花开的感觉。各种各样的理念,框架竞相登场,百花齐放,真是热闹非常。我将最近接触到的一些理念,技术,工具等,整合成一张思维导图,供大家参考。标注红旗的,为实践中所选用。

2012-10-05 14:50:49 3474 2

原创 MVC 技术点滴

1. 前端技术组件  JQuery            -- JS 框架,http://jquery.com/  jQuery.Validation            --前端验证,http://bassistance.de/jquery-plugins/jquery-plugin-validation/   jQuery.UI            --UI

2012-03-27 09:27:29 1394 1

原创 自定义回发事件

在某些情况下,需要引发一个回发事件。一种方案是使用隐藏的按钮控件,使用js激发按钮的onclick事件。比较优雅的方案则是实现IPostBackEventHandler接口。public partial class DataForm : : System.Web.UI.Page, IPostBackEventHandler{ private string m_OnSo

2011-11-28 16:11:17 858

原创 SQL/Oracle 两表关联更新

有TA, TB两表,假设均有三个栏位id, name, remark. 现在需要把TB表的name, remark两个栏位通过id关联,更新到TA表的对应栏位。建表脚本:drop table TA;create table TA(id number not null,name varchar(10) not null,remark varchar(10) not null)

2011-11-18 10:09:21 22408

原创 寻找黑洞

做一回标题党!这不是一个探索宇宙的问题,实际问题如下:        某表base_table,千万数据级别,其中ID列为数字,从1开始。请找出该列中的不连续数字。               我给出的大体思路是先构建一个初始为1~10000的序列表,然后循环步进关联基础表进行筛选。代码如下:declare @begin_on datetime--记录开始时间select

2011-11-08 10:41:39 836

原创 产品客制化思路

一个通用产品,如HR, OA等,要满足形形色色的客户需求,系统弹性一定要足够好。即便如此,也不可避免客户的定制化要求。如何在客制化后进行产品升级,是个容易引起蛋疼的问题。本人从技术层面进行了一些思考。    1.  系统接口         设计人员,需要提炼提炼接口,对于容易变化的部分,提供默认实现。不同用户可以选择不同的配置件,默认提供不满足要求的,就可以客制化开发。    2.

2011-11-07 17:23:17 1187

原创 JavaScript 定义Class的方式

JavaScript 作为一种简单灵活的语言,随着互联网,智能客户端的发展,变得越来越举重若轻。虽然JS不是一种以类为基础的面向对象的程序设计语言,但是它在模拟像Java和C++这样以类为基础的语言时做得相当出色。JavaScript定义Class的方式,有下面几种写法。1. 直接定义函数function userModel(element, flag){ /*--

2011-11-02 09:14:49 5627 2

原创 一致化外部数据源管理

考虑这样一个背景:A系统有一张人事表,B系统也有一张人事表,且B中有一些A中没有的人员属性。如果A需要引用这些数据,该如何处理呢?实际上,通过View, WebService, 数据同步,数据直接访问,都可以达到这个目的。但是如果A作为一个中心系统,还需要访问C, D, E…等系统所特有的数据,该如何处理呢?比较好的办法是做一个通用的外部数据源管理模块,通过简单的设置和公共方法,达到方便一致取

2011-11-01 17:10:34 1460

转载 ORACLE PL/SQL编程之五: 异常错误处理

http://www.cnblogs.com/huyong/archive/2011/05/06/2038743.html

2011-09-29 08:52:18 599

原创 外部数据源管理模型

考虑这样一个背景。

2011-08-03 07:56:45 645

空空如也

空空如也

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

TA关注的人

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