网站技术互联网,技术小知识

站内搜索

DBNULL和NULL

对于DataRow,它的row[column]返回的值永远不为null,要么就是具体的为column的类型的值。要么就是DBNull。所以row[column].ToString()这个写法永远不会在ToString那里发生NullReferenceException,但有可能抛下标越界的异常。

阅读:14 时间:2015-03-27 .NET

反射发出

我们既然知道了Emit可以动态创建对象,那么Emit是如何做到呢?这就必须要提到MSIL,它是类似于java虚拟机的一种无关于CPU的中间语言,也就是说不管你是用什么语言只要最终生成IL,那么.Net就可以执行(这也是.Net上为什么能够运行C#、VB、F#等多种语言的原因)。利用Emit之所以能够动态构建对象,也是因为它可以直接生成IL,这样一来我们当然也就可以动态创建对象了,而且速度几乎接近于直接运行已有代码。

阅读:45 时间:2015-03-27 .NET

动态代理方式实现AOP

上面简单的介绍了如何用动态代理的方式实现AOP,主要是帮助大家理解动态代理AOP的大致思路。在实际开发中我们可能更多时候会选择一些AOP的工具(例如Castle中的Aspect#、SpringAOP、AspectDNG等),这些内容(包括静态织入方式实现AOP)我们今后有机会再一块学习。

阅读:30 时间:2015-03-26 .NET

C#迭代器

迭代器是C#2.0中添加的功能,它能够使我们在类或结构中支持foreach迭代,而不必实现整个IEnumerable/IEnumerable接口。今天我们就一块看一下什么是c#中的迭代器吧。

阅读:47 时间:2015-03-26 .NET

Entity Framework 5.0系列之约定配置

CodeFirst之所以能够让开发人员以一种更加高效、灵活的方式进行数据操作有一个重要的原因在于它的约定配置。现在软件开发越来复杂,大家也都试图将软件设计的越来越灵活,很多内容我们都希望是可配置的,但是过多的配置也会带来很大的工作量,解决这个问题的方法就是约定。对于一些简单的,不太可能经常变化的内容我们以一种约定的方式进行设计。使用过其他ORM框架的朋友可能知道一般ORM都有对应的映射配置文件(一般是一个Xml文件),但是EF并没有。在EF中是以一种约定的方式进行表、列同实体类进行映射的,与此同时为了提高最大的灵活性EF中可以通过FluentAPI和DataAnnotations两种方式对映射进行灵活配置。

阅读:35 时间:2015-03-26 .NET

ASP.NET MVC : Action过滤器(Filtering)

有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NETMVC允许你创建action过滤器。Action过滤器是自定义的Attributes,用来标记添加Action方法之前或者Action方法之后的行为到控制器类中的Action方法中。

阅读:92 时间:2015-03-26 .NET

session机制详解以及session的相关应用

session是web开发里一个重要的概念,在大多数web应用里session都是被当做现成的东西,拿来就直接用,但是一些复杂的web应用里能拿来用的session已经满足不了实际的需求,当碰到这样的情况时候我们需要更加深入的理解session的机制,本文将梳理下session的相关知识,为设计可替代web容器自带的session机制打个基础。

阅读:25 时间:2015-03-24 .NET

探真无阻塞加载javascript脚本技术,我们会发现很多意想不到的秘密

浏览器里的http请求被阻塞一般都是由javascript所引起,具体原因是javascript下载完毕之后会立即执行,而javascript执行时候会阻塞浏览器的其他行为,例如阻塞其他javascript的执行以及其他的http请求的执行。这样会导致页面加载变慢,如果这个变慢很明显,此时用户操作网页会发现页面没有反应会反应很慢,慢是网站用户体验的梦魇。

阅读:28 时间:2015-03-24 Javascript jQuery

关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)

本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别是硬件采购的成本都由总公司来承担,当然互联网业务上的市场营销成本这块还是由该事业部自己承担,可是网站一年运维下来,该公司发现该事业部里最大的成本居然不是市场营销的开销,而是短信业务和宽带使用上的开销,是不是有点让人感到意外呢?下面我来分析下这个场景吧。

阅读:40 时间:2015-03-24 Other

关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)

Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳的预期效果,今天我在这里分析下浏览器和服务端通讯的一些细节问题,希望通过分析这些细节问题,能给大家一个启迪,能更好的理解这些优化原则背后的隐秘,最终能更好的运用这些原则。

阅读:31 时间:2015-03-24 Other