随笔分类 -  .NET技术体验

作为ASP.NET的开发者,能和大家分享的一点点个人感受,多多指教!
跟着url走一圈(ASP.NET请求底层流转个人总结 一)
摘要:刚开始接触ASP.NET的人一定认为它很简单,鼠标点把点吧就能搞个有模有样的网站出来,大部分情况下都不需要关心我们写的那些代码是怎么运行的,也不必关注那些令人厌恶的邪恶接口。至于指针啥的可以直接无视---微软都说是不安全代码默认禁止了。 然而随着学习的深入大家会发现微软用美丽的外表欺骗了我们。想要成为高级.NET开发学习曲线陡然上升,微软想让我们知其然不想让我们知道其所以然。 于是牛逼的程序员们怒了,他们不想当不明真相的群众。于是各种研究底层的文章如雨后春笋般冒出来。特别是对ASP.NET运行的底层研究更是比比皆是。然后在我看过很多文章很总也没有一个清晰的思路,我可能知道了某一个点比如ht.. 阅读全文
posted @ 2012-07-17 17:51 老金 阅读(927) 评论(1) 推荐(0)
C# 中的"yield"使用
摘要:yield是C#为了简化遍历操作实现的语法糖,我们知道如果要要某个类型支持遍历就必须要实现系统接口IEnumerable,这个接口后续实现比较繁琐要写一大堆代码才能支持真正的遍历功能。举例说明usingSystem;usingSystem.Collections.Generic;usingSystem.Collections;usingSystem.Linq;usingSystem.Text;namespace{classProgram{staticvoidMain(string[]args){HelloCollectionhelloCollection=newHelloCollectio.. 阅读全文
posted @ 2012-07-11 11:23 老金 阅读(69014) 评论(7) 推荐(27)
谈谈.Net中的协变和逆变(转)
摘要:摘要: 谈谈.Net中的协变和逆变关于协变和逆变要从面向对象继承说起。继承关系是指子类和父类之间的关系;子类从父类继承所以子类的实例也就是父类的实例。比如说Animal是父类,Dog是从Animal继承的子类;如果一个对象的类 ...谈谈.Net中的协变和逆变关于协变和逆变要从面向对象继承说起。继承关系是指子类和父类之间的关系;子类从父类继承所以子类的实例也就是父类的实例。比如说Animal是父类,Dog是从Animal继承的子类;如果一个对象的类型是Dog,那么他必然是Animal。协变逆变正是利用继承关系 对不同参数类型或返回值类型 的委托或者泛型接口之间做转变。我承认这句话很绕,如果你. 阅读全文
posted @ 2012-07-09 18:45 老金 阅读(881) 评论(0) 推荐(0)
对象的比较与排序:IComparable和IComparer接口
摘要:IComparable和ICompare 接口是.net framework 中比较对象的标准方式,这两个接口提供一个返回值类似(大于0 等于0 小于0)的比较方法,二者区别如下:1. IComparable 在要比较的对象的类中实现,可以比较该对象和另一个对象。2. IComparer 在一个单独的类中实现,可以比较任意两个对象。先看 IComparable 这个接口方法是 int CompareTo(object obj); 方法只有一个参数,我们知道比较至少要有两个对象,所以这个方法只能应用在要比较的对象类中,参数传递的对象就可以和 this 做比较。classobj:ICompara. 阅读全文
posted @ 2012-07-09 18:03 老金 阅读(2790) 评论(0) 推荐(0)
Spring.Net + Ibatis.Net + Log4Net 结合搭的一个简单多层开发架子
摘要:Spring.Net 作用:注入具体类;Ibatis.Net 作用:数据持久化,数据查询;Log4Net 作用: 日志记录;多层架构: 可以参考网上的资料,简单说来就是把系统操作按某种逻辑分类物理的组织到不同的类库中。在完成一个完整的系统操作时让他们按步骤层层调用完成该操作的所需。例如说我们要新增加一个用户,我们会在前端页面输入用户信息,然后把传递到后端类中校验必须的数据是否为空,还要判断用户名是否被使用。如果没有问题则把数据插入到数据库中。在这个操作中,我们把负责用户信息输入的页面放到一个单独层中(UI), 把判断用户输入数据的合法性校验放到另外一个层中(Business),数据最后入库再单 阅读全文
posted @ 2011-03-07 14:10 老金 阅读(3111) 评论(9) 推荐(0)
HttpModule是如何工作的(转自大牛)
摘要:当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者针对截获的这个HTTP请求信息作... 阅读全文
posted @ 2009-03-31 09:29 老金 阅读(584) 评论(0) 推荐(0)
ClassBase A = New ClassSon() 全面分析
摘要:先看如下的代码:[代码]这段代码很简单,定义了一个基类和一个继承它的子类. 在面向对象的的概念中,最基础的应该就是继承了.继承概念很简单:基础类的公有元素(字段,属性,方法)可以被继承它的子类使用,就如同子类自己定义的一样,如果觉得基类定义的方法不太爽,还可以自己写一个同名的方法覆盖它,这就是所谓的重写(override),比如代码红的方法A(), 但是实现方法的重写是有条件的,基类的方法是公有... 阅读全文
posted @ 2008-06-25 10:38 老金 阅读(699) 评论(0) 推荐(0)
C# 反射/映射学习
摘要:最近想研究一下反射,先上网找了找资料,几乎大部分都是照抄MSDN的内容,生涩难懂,几乎没说,又找了找,发现一些强人的实例解析,才稍微有了点门道,个人感觉,反射其实就是为了能够在程序运行期间动态的加载一个外部的DLL集合,然后通过某种办法找到这个DLL集合中的某个空间下的某个类的某个成员(通过反射可以访问该类所包含的所有成员,不论成员是公有还是私有),看看网上N人写的实例:1.运用反射调用其它程序集中的方法: 假设另一个工程中的所有类都编译到一个dll文件中了,在这很多的类当中,有一个类叫StringUtil,名称空间在HSMP.CommonBasic.Common 代码如下:namespa.. 阅读全文
posted @ 2007-09-03 11:00 老金 阅读(11381) 评论(7) 推荐(0)
c#的内存管理(托管及未托管对象管理)
摘要:c#中的对象分为值类型和引用类型,二者最大的区别在于数据的存储方式和存储位置.WINDOWS操作系统使用虚拟寻址系统来管理程序运行时产生的数据存放.简单的说,该系统管理着一个内存区域,在该区域中划拨出一部分出来专门存放值类型变量,称为堆栈,堆栈采用先进后出的原则,将值类型变量从区域的最高地址位开始向低位地址存储,先进后出,后进先出的管理方式保证了值类型变量在出了作用域后能即使的清除占用的内存区域,... 阅读全文
posted @ 2007-05-24 18:15 老金 阅读(2642) 评论(0) 推荐(1)
类,抽象类与接口之我所见!
摘要:在学习过程中,抽象类与接口二者的关系已被高手阐述了N遍,但是,仅仅罗列出他们之间的区别是不能够表述清晰的,我看了Anytao和KeithDa两位高手写的文章,他们说的都非常好,让我受益非浅,结合二位前辈的经验和我在项目中的体会,斗胆也谈谈他们的关系和取舍! 定义: 接口:接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现; 抽象类:抽象类提供多... 阅读全文
posted @ 2007-05-24 11:57 老金 阅读(438) 评论(0) 推荐(0)
开发一套系统的目的不是要来『让程式设计师写程式』,开发一套系统的目的是要来『解决一个问题』(转)
摘要:VS2005已经正式推出,很多人都看过ASP.NET 2.0的华丽外表!那些可以自由在页面上拖曳的WebPart,可以套用版型的MasterPage,可以为页面穿戴炫华丽衣裳的Theme和skin...。不只如此,大幅节省程式码的登入控制项群组(包含完整的Forms认证机制、MemberShip和Role类别),把过去UI(使用者介面)和资料库存取机制彻底简化的资料存取控制项(DataSo... 阅读全文
posted @ 2007-04-24 18:48 老金 阅读(482) 评论(0) 推荐(0)
ASP.NET给我带来了什么--写给初学人员.
摘要:ASP.NET现在非常火暴,套用一句话可以讲"那是相当火暴",很多新人正在陆续加入到学习的行列中来.从未知到已知,每个人必须经历的阶段.从一个经历过人的角度,谈谈学习方法和注意的地方,希望能对有志向学习此技术的同胞有所裨益. ASP.NET其实出现的时间不长,总共不到10年的时间,但是由于其BOSS是软件巨头微软,所以该技术是非常强大的,ASP.NET (以下简称.NET)虽然同AS... 阅读全文
posted @ 2007-04-18 10:59 老金 阅读(429) 评论(1) 推荐(1)