自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 .Net 更容易的使用配置文件 SuperConfig

一、原始配置文件的问题我们在做开发时,不管是B/S还是C/S,现在几乎所有的项目都会碰到使用配置文件,简单点的如链接字符串、上传路径啊,一些API的接口地址等等。复杂点就更多了,如ActiveMQ的配置信息(地址、端口、用户名、密码)等等。在.Net开发中已经在(Web.config/App.config)中提供了相对完善的配置系统,简单的如:appSettings;复杂的如:se

2018-02-05 10:13:40 339

原创 记一次sql server 性能调优,查询从20秒至2秒

一、需求需求很简单,就是需要查询一个报表,只有1个表,数据量大约60万左右,但是中间有些逻辑。先说明一下服务器配置情况:1核CPU、2GB内存、机械硬盘、Sqlserver 2008 R2、Windows Server2008 R2 SP1和阿里云的服务器,简单说就是阿里云最差的服务器。1、原始表结构非常简单的一张表,这次不讨论数据冗余和表字段的设计,如是否可以把Project

2017-07-19 18:09:33 2954 3

原创 [asp.net mvc 奇淫巧技] 05 - 扩展ScriptBundle,支持混淆加密javascript

一、需求:在web开发中,经常会处理javascript的一些问题,其中就包括js的压缩,合并,发布版本以及混淆加密等等问题。在asp.net 开发中我们使用ScriptBundle已经可以解决javascript遇到的大部分问题,其中包括合并压缩发布版本的问题。关于ScriptBundle的简单应用,可以参考asp.net mvc4 使用 System.Web.Optimizatio

2017-07-19 18:09:27 830

原创 [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?

在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收、我传的数组为什么Action的model中接收不到、或者我在ajax的data中设置了一些数组,为什么后台还是接收不了、还有一些怎么传送一个复杂的对象或者Action怎么接收一个复杂的对象等等这些问题。或者有些人遇到复杂的对象或者数组直接就传送个json字符串,然后在Action中把json字符串转成model对象

2017-07-19 18:09:19 416

原创 [asp.net mvc 奇淫巧技] 03 - 枚举特性扩展解决枚举命名问题和支持HtmlHelper

一、需求我们在开发中经常会遇到一些枚举,而且这些枚举类型可能会在表单中的下拉中,或者单选按钮中会用到等。 这样用是没问题的,但是用过的人都知道一个问题,就是枚举的命名问题,当然有很多人枚举直接中文命名,我是不推荐这种命名规则,因为实在不够友好。那有没有可以不用中文命名,而且可以显示中文的方法呢。答案是肯定的。 二、特性解决枚举命名问题那就是用特性解决命名问题,这样的

2017-07-19 18:09:13 400

原创 [asp.net mvc 奇淫巧技] 02 - 巧用Razor引擎在Action内生成Html代码

在web开发中经常会遇到在内部代码中获取Html,这些Html是需要和数据进行一起渲染。并不是直接把Html代码返回给客户端。这样的做法有很多应用场景,例如分页、Ajax一次性获取几段Html片段、生成邮件发送模板、生成Html静态页面等等。比较简单的或者容易想到的做法就是直接拼接Html,当然这肯定不是最合适的做法。应用场景1、在分页中,有一种做法是用ajax获取table的html代码

2017-07-19 18:09:07 559

原创 ECharts 实现人民的名义关系图谱 代码开源

1、什么是EChartsECharts是百度开源的纯 Javascript 图表库,目前开源可以与highcharts相匹敌的一个图表库,相信有很多国内用户使用。官网 http://echarts.baidu.com/ 2、开始简单配置关系图1、首先配置series的type为graph。2、layout为force,layout可以选择none、circular和forc

2017-07-19 18:09:01 4652 3

原创 C# 超高速高性能写日志 代码开源

1、需求需求很简单,就是在C#开发中高速写日志。比如在高并发,高流量的地方需要写日志。我们知道程序在操作磁盘时是比较耗时的,所以我们把日志写到磁盘上会有一定的时间耗在上面,这些并不是我们想看到的。 2、解决方案2.1、简单原理说明使用列队先缓存到内存,然后我们一直有个线程再从列队中写到磁盘上,这样就可以高速高性能的写日志了。因为速度慢的地方我们分离出来了,也就是说程序在把日志扔

2017-07-19 18:08:54 1581

原创 C# 快速高效率复制对象另一种方式 表达式树

1、需求在代码中经常会遇到需要把对象复制一遍,或者把属性名相同的值复制一遍。比如: public class Student { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; }

2017-07-19 18:08:48 552

原创 Asp.net SignalR 应用并实现群聊功能 开源代码

ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。(来自官方介绍。)SignalR官网 -1、写这篇的原因在上篇文章B/S(Web)实时通讯解决方案中,并没有详情介绍Sig

2017-07-19 18:08:42 2464 1

原创 B/S(Web)实时通讯解决方案

B/S的实时通讯实现起来比较麻烦,因为http协议是无状态的,导致一些实时消息通知和聊天等功能比较难以实现,本文主要简述几种自己之前常用的几种方式。 1、传统的HTTP协议是无状态的传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难主动向客户端发送数据,多个用户进行实时的交流也比较困难,比如

2017-07-19 18:08:34 1132

原创 Asp.net 实现Session分布式储存(Redis,Mongodb,Mysql等) sessionState Custom

对于asp.net 程序员来说,Session的存储方式有InProc、StateServer、SQLServer和Custom,但是Custom确很少有人提及。但Custom确实最好用,目前最实用和最灵活一种方式,因为Custom可以实现各种情况的Session存储,特别对于大型网站尤为重要,解决Session丢失和Session效率的最佳实现方式,也是实现单点登录的最佳途径。 对于InProc

2017-07-19 18:08:28 1042

原创 [asp.net mvc 奇淫巧技] 01 - 封装上下文 - 在View中获取自定义的上下文

我们在asp.net 开发中已经封装了最强大的HttpContext,我们可以在HttpContext中可以获取到几乎任何想获取的东西,也可以在HttpContext写入需要返回客户端的信息。但是这些还远远不能满足一些要求,比如在任何地方可以获取到登录用户的信息等等。  之前获取登录用户的信息基本上都是哪里用到就从session里获取,这样做的缺点很多就不一一说明了。  现在我们通过封装一

2017-07-19 18:08:22 638

原创 ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理

话不多说,直接进入主题。需求:基于Http请求接收Json格式数据,返回Json格式的数据。整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性对token进行验证,并通过时间戳的方式统一处理接收与返回的时间格式。请求Json格式:{ "Cmd": "login", "Token": "", "P

2017-07-19 18:08:15 1138

原创 ASP.NET MVC Model绑定的简单应用

Model绑定是 MVC 框架根据 HTTP 请求数据创建 .NET 对象的一个过程。一、简单类型1、单一值获取值二、多个值获取值三、数组获取值二、复杂类型一、简单类型与数组组合获取值 二、简单类型与集合localhost:1234/ModelBinder?name=emrys&age=25&friends

2017-07-19 18:08:09 514

原创 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。(抄的...)UEditor是非常好用的富文本web编辑器,而且全中文API和注释,方便学习和使用。特别是图片上传查看及涂鸦功能极为喜欢,但是有很多情况我们并不需要Web编辑器,而只需要图片上传。那么问题来了,提取图片上传哪家强.....

2017-07-19 18:08:03 1253

原创 asp.net mvc4 使用 System.Web.Optimization 对javascript和style的引入、代码合并和压缩的优化(ScriptBundle,StyleBundle,Bundling and Minification )

Bundling and Minification两个单词对今天的内容有个比较好的总结。问题所在一、 在asp.net包括mvc项目中,引入js和css也许有人认为是个很容易和很简单操作的事情,vs自带的拖动功能可以很简单的实现引入工作,甚至不需要编写任何代码,但是这样会导致路径问题,母版页和用户控件的问题尤为严重。二、由于现在web项目的庞大,页面往往需要加载很多未压缩的js和css

2017-07-19 18:07:57 547

原创 jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式(jquery.validate.unobtrusive.js)

最近在学习asp.netMVC,发现其中的验证方式书写方便快捷,应用简单,易学好懂。验证方式基于jQuery的validate 验证方式,也可以说是对jQuery validate的验证方式的扩展,使其更简单易用。应用一、引入      二、1)在需要验证的input标签上添加属性data-val="true",即表示改标签参加验证。  2)继续在标签上添加属性data

2017-07-19 18:07:48 470

空空如也

空空如也

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

TA关注的人

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