代码改变世界

浅谈如何更好的打开和关闭ADO.NET连接池

2013-08-12 09:43 by kellweke, 370 阅读, 0 推荐, 收藏, 编辑
摘要:MS提倡我们尽可能每次的在连接使用完成后就关闭;这样导致每次都要进行打开和关闭操作或用using(){…}写起代码比较麻烦,还有经常对池的操作似乎也带来一些性能上的问题;在Asp.net里一个WebForm经常涉及有N个数据库操作,为了方便直接在init里打开一个连接,然后在Dispose里关闭即省事又能减少对池的操作提高性能;那到底这样做能不能提高性能呢?答案是能,但有些情况估计会很让你感觉到失望…。当池的连接数能应付用户请求的时候,的确是可以减少池的操作带来性能的提升;反之就不一样了用户必须等待到获取连接后才能进行其他操作,当有更多用户在等待获取连接的时候只能让线程处于更长等待时间导致服务 阅读全文

JSON 的优点

2013-08-09 14:38 by kellweke, 880 阅读, 0 推荐, 收藏, 编辑
摘要:在 Web 开发方面,JSON 与 XML 相比主要有两个优点。首先,它更加简洁。JSON 对象是一系列以逗号分隔的 name:value 对,最外面有一对花括号。相反,XML 则使用重复的开始和结束标记包装数据值。因此,与相应的 JSON 相比,这样便产生了两倍的元数据开销,所以 Crockford 将 JSON 趣称为 “XML 的无脂替代品”(请参阅 参考资料)。当处理 Web 开发的 “细管道” 时,每次减少一些字节都可以带来实在的性能好处。 清单 1 显示了 JSON 和 XML 如何组织相同的信息: 清单 1. 比较 JSON 和 XMLCode highlighting pr.. 阅读全文

精通 Grails: 用 JSON 和 Ajax 实现异步 Grails(转载)

2013-08-09 14:30 by kellweke, 324 阅读, 0 推荐, 收藏, 编辑
摘要:【IT168技术文档】本文讨论 Grails 对于其互补技术 JSON 和 Ajax 的支持。在前几期的 精通 Grails 系列文章中,JSON 和 Ajax 都扮演支援者的角色,而这一次,它们担任主角。您将使用内置的 Prototype 库和 Grails标记发出一个 Ajax 请求。您还将看到一些关于提供本地 JSON 和通过 Web 动态获得 JSON 的例子。 为了进行演示,您将组建一个旅行计划页面,在该页面中,用户可以输入出发地机场和目的地机场。当机场显示在一个 Google Map 上时,用户可通过一个链接搜索目的地机场附近的宾馆。图 1 显示了这个页面: 图 1. 旅行计划.. 阅读全文

JavaScript定时机制、以及浏览器渲染机制(转载)

2013-08-09 14:09 by kellweke, 226 阅读, 0 推荐, 收藏, 编辑
摘要:昨晚,朋友拿了一道题问我:a.onclick = function(){ setTimeout(function() { //do something ... },0);};JavaScript API 文档明确定义:setTimeout的第二个参数意义为隔多少毫秒后,回调方法就会被执行。那么可以推断出:这里设成0毫秒,就立即被执行了。—————— 既然立即执行,为什么这段代码的作者为什么要 舍近求远?难道作者写代码的时候喝醉了?显然不是!这个问题 David Flanagan 在《Javascript 权威指南》中有阐述:当 setTimeout 的延迟时间设置为 ... 阅读全文

Silverlight json 通信

2013-08-08 15:28 by kellweke, 236 阅读, 0 推荐, 收藏, 编辑
摘要:asp.net 端using System.Web.Script.Serialization;//List转json字符串{IList list=New List();...JavaScriptSerializer jsonStr = new JavaScriptSerializer();return jsonStr.Serialize(list);} SilverLight 端{WebClient client = new WebClient();Uri uri = new Uri(App.Current.Host.Source,"http://xxxxx//xx.ashx&quo 阅读全文

JS异步顺序执行

2013-08-08 15:16 by kellweke, 881 阅读, 0 推荐, 收藏, 编辑
摘要:因为工作的需要,我要在网页端编写一段脚本,把数据通过网页批量提交到系统中去。所以我就想到了Greasemonkey插件,于是就开始动手写,发现问题解决得很顺利。但是在对脚本进行总结和整理的时候,我习惯性地问了自己一个问题:能不能再简单点? 我的答案当然是“能”。首先回顾我的数据批量提交的需求:我有一批用户数据要插入到系统中,但是因为系统库表结构不是行列式的,所以无法转化为sql语句插入。要插入的数据有接近200条,就是傻呵呵地手工录入到系统,估计也要1天的时间。作为程序员,当然不会干这么傻的事情,我一定要用程序来解决。这个编程的过程耗费了我1天的时间。相比手工录入,我额外收入是这篇博文,绝对的 阅读全文

WCF信道的自动关闭或中断

2013-06-19 11:55 by kellweke, 531 阅读, 0 推荐, 收藏, 编辑
摘要:步骤一:创建ChannalFactory<T>的静态工厂:ChannelFactoryCreatorusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;using System.ServiceModel;namespace Artech.ServiceProxyFactory { internal static class ChannelFactoryCreator { priva... 阅读全文

C#虚函数virtual详解

2013-06-09 15:24 by kellweke, 257 阅读, 0 推荐, 收藏, 编辑
摘要:在C++、Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外。虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死了的!而虚函数在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时期对象实例来动态判断要调用的函数,其中那个申明时定义的类叫申明类,那个执行时实例化的类叫实例类。如:飞禽 bird = new 麻雀(); 那么飞禽就是申明类,麻雀是实例类。具体的检查的流程如下1、当调用一个对象的函数时,系统会直接去检查这个对 阅读全文

面试官最喜欢的问题 ----索引+C#面试题

2013-06-09 15:11 by kellweke, 349 阅读, 0 推荐, 收藏, 编辑
摘要:对大量数据进行查询时,可以应用到索引技术。索引是一种特殊类型的数据库对象,它保存着数据表中一列或者多列的排序结果,有效地使用索引可以提高数据的查询效率。大家面试初级、中级或者高级程序员的时候应该大部分都会被问到这样一些问题,你了解索引吗?你知道索引的分类吗?你知道这些索引的区别吗?你如何去创建有效的索引。本章让大家学会反问面试官hold住全场。--_____--最近面试的文章比较火 客串一下 我只简单问2个问题 看看有多少人能直接回答出来 都是比较基础的1.基类虚函数、派生类重写 与 基类普通函数、派生类覆盖的区别(-____-)2.Using闭包中try catch,异常捕获后抛出,那么us 阅读全文

主键和唯一索引的区别

2013-06-09 14:33 by kellweke, 185 阅读, 0 推荐, 收藏, 编辑
摘要:主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。唯一性索引列允许空值,而主键列不允许为空值。主键列在创建时,已经默认为空值 + 唯一索引了。主键可以被其他表引用为外键,而唯一索引不能。一个表最多只能创建一个主键,但可以创建多个唯一索引。主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。在 RBO 模式下,主键的执行计划优先级要高于唯一索引。 两者可以提高查询的速度。 阅读全文