随笔分类 -  积累

摘要:发布日期:2009.05.11 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。/// /// 本文部分内容,已发表于《程序员》杂志第二期《C#,语言的变迁》/// 引言语言是程序开发者行走江湖的手上利器,各大门派的高手在论坛、博客为了自家门派争吵不已早是技术世界中的亮丽风景,虽多少为刚刚踏入江湖的新手提供了思考的素材,但也同时迷惑了初出茅庐的前行方向。本文不欲计较门派的高下,旨在明辨技术的真谛,这就是.NET平台下的开发利器:C#语言,并从其变迁的进程中对于.NET技术发展把玩一番。在下篇,我们将从历史走来,对.NET的未来做个展望性 阅读全文
posted @ 2013-07-24 12:01 沙耶 编辑
摘要:发布日期:2009.05.08 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。/// /// 本文部分内容,已发表于《程序员》杂志第二期《C#,语言的变迁》/// 引言语言是程序开发者行走江湖的手上利器,各大门派的高手在论坛、博客为了自家门派争吵不已早是技术世界中的亮丽风景,虽多少为刚刚踏入江湖的新手提供了思考的素材,但也同时迷惑了初出茅庐的前行方向。本文不欲计较门派的高下,旨在明辨技术的真谛,这就是.NET平台下的开发利器:C#语言,并从其变迁的进程中对于.NET技术发展把玩一番。在上篇,我们走在历史,对.NET的过去尤其是c#语言 阅读全文
posted @ 2013-07-24 11:42 沙耶 编辑
摘要:发布日期:2009.3.18 作者:Anytao© 2009Anytao.com,原创作品,转贴请注明作者和出处。1 缘起老赵在谈表达式树的缓存(2):由表达式树生成字符串中提到,在描述Type信息时讨论FullName或者AssemblyQualifiedName提供完整的Type信息,虽是小话题,但却是值得有聊的话题。在.NET中反应一个Type名称信息的有以下三个属性,分别是:Name,获取当前成员的名称。FullName,获取Type 的完全限定名,包括Type的命名空间,但不包括程序集。AssemblyQualifiedName,获取Type的程序集限定名,其中包括从中加载 阅读全文
posted @ 2013-07-24 10:15 沙耶 编辑
摘要:发布日期:2009.03.05 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前在.NET世界里,我们常常听到的一句话莫过于“System.Object是一切类型的根,是所有类型的父类”,以至于我在《你必须知道的.NET》8.1节 以“万物归宗:System.Object”这样的title为System.Object授予至高荣誉。所以,基于这样的观点就有了下面这句“接口是否也继承于System.Object?”,事实上这正是今天在技术群里小小讨论的一个插曲。www.anytao.com1 缘起在.NET世界里,我们常常听到 阅读全文
posted @ 2013-07-24 09:31 沙耶 编辑
摘要:在Winsows 2008 Server 上安装asp.net 1.1 的应用程序,在启用默认文档或者浏览目录时会向 web.config 文件添加 节,这时就可能报错:“/”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 无法识别的配置节“system.webServer” 源错误: 行 1: 行 2: 行 3: 行... 阅读全文
posted @ 2013-07-23 16:53 沙耶 编辑
摘要:在使用VS.net2003开发asp.net项目时,有时候在你调试项目时,会提示”无法在web服务器上启动调试,不是Debugger User组成员..."这样一个错误信息。很是让人头疼,一般都会检查WEBCONFIG文件,项目的调试属性,IIS的设置等。但有时候也不管用,下面根据别人的总结和自己的总结整理了一下,希望可以彻底解决此问题。1.首先,可以参看microsoft的帮助:http://msdn2.microsoft.com/zh-cn/library/dwesw3ee.aspx.2.如果微软的帮助对你没什么作用,那看看下面的方法有没有用。2.1:确认在“配置属性”中的“启用 阅读全文
posted @ 2013-07-23 16:29 沙耶 编辑
摘要:发布日期:2009.03.04 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前书接上回:第二十四回:认识元数据和IL(上),第二十五回:认识元数据和IL(中)我们继续。终于到了,说说元数据和IL在JIT编译时的角色了,虽然两个回合的铺垫未免铺张,但是却丝毫不为过,因为只有充分的认知才有足够的体会,技术也是如此。那么,我们就开始沿着方法调用的轨迹,追随元数据和IL在那个神秘瞬间所贡献的力量吧。www.anytao.com5 元数据和IL在JIT编译时CLR最终执行的只有本地机器码,所以JIT编译的作用是在运行时将IL代码解 阅读全文
posted @ 2013-07-20 12:09 沙耶 编辑
摘要:发布日期:2009.02.25 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前书接上回[第二十四回:认识元数据和IL(上)],我们对PE文件、程序集、托管模块,这些概念与元数据、IL的关系进行了必要的铺垫,同时顺便熟悉了以ILDASM工具进行反编译的基本方法认知,下面是时候来了解什么是元数据,什么是IL这个话题了,我们继续。很早就有说说Metadata(元数据)和IL(中间语言)的想法了,一直在这篇开始才算脚踏实地的对这两个阶级兄弟投去些细关怀,虽然来得没有《第一回:恩怨情仇:is和as》那么迅速,但是Metadata和 阅读全文
posted @ 2013-07-20 11:51 沙耶 编辑
摘要:发布日期:2009.02.24 作者:Anytao© 2009Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前很早就有说说Metadata(元数据)和IL(中间语言)的想法了,一直在这篇开始才算脚踏实地的对这两个阶级兄弟投去些细关怀,虽然来得没有《第一回:恩怨情仇:is和as》那么迅速,但是Metadata和IL却是绝对重量级的内容,值得我们在任何时间关注,本文就是开始。www.anytao.com1 引言你可曾想到,我们的C#代码,编译之后究竟为何物?你可曾认知,我们的可执行程序,运行之时的轨迹究竟为哪般?那么,本文通过对Metadata(元数据)和 阅读全文
posted @ 2013-07-20 11:02 沙耶 编辑
摘要:发布日期:2008.11.2 作者:Anytao© 2008Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前今天Artech兄在《关于Type Initializer和 BeforeFieldInit的问题,看看大家能否给出正确的解释》一文中让我们认识了一个关于类型构造器调用执行的有趣示例,其中也相应提出了一些关于beforefieldinit对于类型构造器调用时机的探讨,对于我们很好的理解类型构造器给出了一个很好的应用实践体验。认识类型构造器,认识beforefieldinit,更深入关注CLR执行机理,品味细节之美。1 引言今天Artech兄在《关 阅读全文
posted @ 2013-07-19 18:50 沙耶 编辑
摘要:发布日期:2008.8.27 作者:Anytao© 2008Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前走钢丝的人,在刺激中体验快感。带着问题思考,在问题上迸发火花。或者给问题以答案,或者给答案以问题,你可能永远无法看清全部,但是总能从一点突破很多。事实的关键就在于面对问题,我该如何思考?String Interning(字符串驻留)就是这样一个值得思考的话题,带着问题思考,我们至少要理清以下几个问题:什么是string?什么是字符串驻留?字符串驻留的运行机制及执行过程?字符串驻留的其他问题?带着几个问号,你必须知道的.NET,继续更多体验。www 阅读全文
posted @ 2013-07-19 18:24 沙耶 编辑
摘要:发布日期:2008.7.31 作者:Anytao© 2008Anytao.com,Anytao原创作品,转贴请注明作者和出处。说在,开篇之前null、nullable、??运算符、null object模式,这些闪亮的概念在你眼前晃动,我们有理由相信“存在即合理”,事实上,null不光合理,而且重要。本文,从null的基本认知开始,逐层了解可空类型、??运算符和null object模式,在循序之旅中了解不一样的null。你必须知道的.NET,继续全新体验,分享更多色彩。www.anytao.com1 从什么是null开始?null,一个值得尊敬的数据标识。一般说来,null表示空类 阅读全文
posted @ 2013-07-19 18:13 沙耶 编辑
摘要:说在,开篇之前本文,源自我回答刚毕业朋友关于.NET学习疑惑的回复邮件。本文,其实早计划在《你必须知道的.NET》写作之初的后记部分,但是因为个中原因未能如愿,算是补上本书的遗憾之一。本文,作为[《你必须知道的.NET》]系列的第20回,预示着这个系列将开始新的征程,算是[你必须知道的.NET]2.0的开始。本文,作为一个非技术篇章,加塞儿到《你必须知道的.NET》队伍中,我想至少因为回答了以下几个必须知道的非技术问题:.NET应该学习什么? .NET应该如何学习? .NET的学习方法?本文,不适合所有的人。开始正文:关于这个问题,也有不少刚刚入行的朋友向我问起。我想可能一千个人就有一千个答案 阅读全文
posted @ 2013-07-19 17:43 沙耶 编辑
摘要:本文将介绍以下内容:对象的创建过程内存分配分析内存布局研究接上回[第十八回:对象创建始末(上)],继续对对象创建话题的讨论>>>2.2托管堆的内存分配机制引用类型的实例分配于托管堆上,而线程栈却是对象生命周期开始的地方。对32位处理器来说,应用程序完成进程初始化后,CLR将在进程的可用地址空间上分配一块保留的地址空间,它是进程(每个进程可使用4GB)中可用地址空间上的一块内存区域,但并不对应于任何物理内存,这块地址空间即是托管堆。托管堆又根据存储信息的不同划分为多个区域,其中最重要的是垃圾回收堆(GC Heap)和加载堆(Loader Heap),GC Heap用于存储对象实 阅读全文
posted @ 2013-07-19 17:17 沙耶 编辑
摘要:本文将介绍以下内容:对象的创建过程内存分配分析内存布局研究1.引言了解.NET的内存管理机制,首先应该从内存分配开始,也就是对象的创建环节。对象的创建,是个复杂的过程,主要包括内存分配和初始化两个环节。例如,对象的创建过程可以表示为:FileStreamfs =newFileStream(@"C:"temp.txt",FileMode.Create);通过new关键字操作,即完成了对FileStream类型对象的创建过程,这一看似简单的操作背后,却经历着相当复杂的过程和周折。本篇全文,正是对这一操作背后过程的详细讨论,从中了解.NET的内存分配是如何实现的?2.内 阅读全文
posted @ 2013-07-19 16:13 沙耶 编辑
摘要:本文将介绍以下内容:什么是覆写,什么是重载覆写与重载的区别覆写与重载在多态特性中的应用1.引言覆写(override)与重载(overload),是成就.NET面向对象多态特性的基本技术之一,两个貌似相似而实则不然的概念,常常带给我们很多的误解,因此有必要以专题来讨论清楚其区别,而更重要的是关注其在多态中的应用。在系列中,我们先后都有关于这一话题的点滴论述,本文以专题的形式再次做以深度讨论,相关的内容请对前文做以参考。2.认识覆写和重载从一个示例开始来认识什么是覆写,什么是重载?abstractclassBase{//定义虚方法publicvirtualvoidMyFunc(){}//参数列表 阅读全文
posted @ 2013-07-19 14:24 沙耶 编辑
摘要:多个列表框联动,不算是啥大问题,但是却挺麻烦,那么怎么才能够尽量方便一点呢?网上搜了一下,没发现太好用的,于是就自己写了一个。基于jQuery,无限级联动,支持下拉列表框和列表框。先说一下步骤和使用方法:1、在页面里设置列表框城市:<select name="c5118020" id="ctrl_001" > <option value="-99999">请选择</option><option value="1">沈阳</option><option 阅读全文
posted @ 2013-06-21 14:05 沙耶 编辑
摘要:摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐。其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件MVCPager(http://www.webdiyer.com/)算作当下开源里面的佼佼者,曾经在使用过程中感觉效果非常棒,拜读其源码也受益非浅。于是写下LYB.NET.SPPager控件,并提交到CodePlex,希望大家多提意见。 项目源地址:https://lybpager.codeplex.com/ 项目下载地址:https://lybpager.codeplex.com/releases其中包括分页控件源码,演示工程,分页控件DLL需要分析 在一... 阅读全文
posted @ 2013-06-19 17:00 沙耶 编辑
摘要:总结一下做管理软件,有哪些项是经过检验的条款,必须遵守的。界面篇1 要保存用户的偏号(profile/favourite)。 ASP.NET 2.0引入此功能,当用户修改默认的控件的属性时,框架应当保存用户的修改。显而易懂的例子是grid控件中的列顺序。用户修改之后,关闭窗体时,要可以保存起来,当用户再次打开时,应当加载用户上次的修改。2 界面中的数据要有通一的导出方案。导出类型一般是Mircrosoft Excel, Microsoft Access, Text,CSV。Excel为第一需要考虑的导出格式。3 半角全角输入转化。对于全角输入,应当转化为半角。全角半角长度不一样,但在界面中它的 阅读全文
posted @ 2013-06-17 11:48 沙耶 编辑
摘要:背景企业需要“快速的”和“高质量的”交付应用,采用传统的三层架构+数据驱动开发可以带来快速交付,但是高质量视乎无从保证,这篇文章我谈谈我准备如何应对这种需求。思路CQRS + DDD + MDP(元数据驱动编程)看图解说从读和写的角度思考一些问题。UI层的编码量占据了整体的50%-80%(我自己的经验)之间。UI层的主要目的是展示,即读取。UI层团队的开发人数比例不符合他们的编码量(企业应该加大对UI层人才的投资和引进)。UI层团队的编码水平相对较差(我自己的经验,我见过好的UI人员,月薪2W)。UI层在代码级别相对容易抽象和重用(企业应用)。UI是用户关注的重点。写操作是实现读取的前提,(数 阅读全文
posted @ 2013-05-30 16:08 沙耶 编辑