代码改变世界

一起谈.NET技术,详解.NET程序集的加载规则

2011-09-01 23:57 by 狼人:-), 203 阅读, 0 推荐, 收藏,
摘要:程序集的加载涉及到很多方面的知识,包括配置文件、全局缓存装配、私有目录等的查找。用LoadAWithPartialName方法加载程序集,必须提供程序集的文本名称,还可以包公钥标记、版本或区域性等,但不必包含完全引用信息,如名称、版本、区域性、公钥标记。 使用(System.Reflection.Assembly.Load)并仅指定部分引用,运行库在全局程序集缓存和应用程序根目录中对程序集进行检查。使用LoadWithPartialName方法并仅指定部分引用,运行库在应用程序目录中和全局程序集缓存中对程序集进行检查。另外,提供部分引用,可在应用程序集的配置文件中提供完全引用的信息。 ... 阅读全文

一起谈.NET技术,ASP.NET MVC 入门介绍 (上)

2011-09-01 23:57 by 狼人:-), 228 阅读, 0 推荐, 收藏,
摘要:参考文章 ASP.NET MVC Overview. 1. MVC模式 MVC模式是一种软件架构模式。它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予... 阅读全文

一起谈.NET技术,如何通过ildasm/ilasm修改assembly的IL代码

2011-09-01 23:57 by 狼人:-), 247 阅读, 0 推荐, 收藏,
摘要:这段时间为跟踪一个Bug而焦头烂额,最后发现是Framework的问题,这让人多少有些绝望。所以到微软论坛提了个帖子,希望能得到些帮助。虽然论坛智能到能够判断楼主是否是MSDN订阅用户,以便尽快解决(传说MSDN订阅用户的问题能在两天内得到回复的,当时还很得意公司为我们购买的MSDN订阅账号),但得到的回复是“Could you file a bug report for this issue through Connect?”,绝望之后的又一次寒心啊。 看过payeasy的广告之后,便有了以下的这些内容,如何修改.net framework: 这里我们以修改Guid类为例,我们将... 阅读全文

一起谈.NET技术,Linq学习笔记

2011-09-01 23:57 by 狼人:-), 156 阅读, 0 推荐, 收藏,
摘要:写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些兴趣,所以打算整理点东西出来跟大家一起做个分享。 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性。已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知、静态类型等强类型语言的好处。并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源。 Li... 阅读全文

一起谈.NET技术,关于代码规范

2011-09-01 23:57 by 狼人:-), 168 阅读, 0 推荐, 收藏,
摘要:今天被培训了C#代码规范,为了统一风格。其中我比较有异议的两点如下: 类型实例的私有字段应采用骆驼命名法(camelCasing),不应该有任何前缀,在使用时前边加"this.”; 要用FCL类型而不是C#的基元类型,例如要使用Int32代替int。 首先对于第一点,个人比较习惯的做法是前边加下划线,说不上好坏,这两种写法在各种开源框架的源码中都见到过。由于VS默认并不提供像Eclipse那样的对私有字段变色的功能,所以如果只是简单的使用camelCasing的话会很难区分哪些是私有字段,哪些是局部变量,所以才有了加this的要求。那么来做个比较: public void T... 阅读全文

一起谈.NET技术,Entity Framework 4.1 推荐英文教程

2011-09-01 23:57 by 狼人:-), 221 阅读, 0 推荐, 收藏,
摘要:Entity Framework 4.1 相关文档实在少得可怜,在网上找到一个不错的系列文章,与大家分享一下。 作者:Vincent-Philippe Lauzon 感谢冠军的翻译! ·Entity Framework 4.1: Basics(1) [译文]Entity Framework 4.1 之一 : 基础 ·Entity Framework 4.1: Override conventions(2) [译文]Entity Framework 4.1 之二 : 覆盖默认的约定 ·Entity Framework 4.1: Deep Fetch vs Lazy 阅读全文

一起谈.NET技术,为类提供软件约定

2011-09-01 23:57 by 狼人:-), 212 阅读, 0 推荐, 收藏,
摘要:根据一种很好的旧软件开发做法,应在每个方法的顶部(即实现任何重要行为之前)放置一个条件语句作为屏障。 每个条件语句都检查输入值必须验证的不同条件。 如果条件未通过验证,代码会引发异常。 这种模式通常称为 If-Then-Throw。 但是,有了 If-Then-Throw,我们就可以编写出高效正确的代码吗? 是不是在所有情况下,这都足够了? If-Then-Throw 不是在所有情况下都能解决所有问题,这不是什么新观点。 根据约定设计 (DbC) 是 Bertrand Meyer 几年前提出的方法,这种方法基于这样一种想法,即每个软件都拥有一个正式描述其输入和输出的约定。 If-... 阅读全文

一起谈.NET技术,Azure和Bing Maps API示例经验分享

2011-09-01 23:57 by 狼人:-), 224 阅读, 0 推荐, 收藏,
摘要:头疼的Bug,糟糕的代码,崩溃的调试作为开发人员的你,遇到上述任何一种情况可能就会陷入抓狂。如果能直接获得需要的代码,编程的活儿就会轻松许多。 微软最新推出的一站式示例代码库,让开发人员可以免费获得所需的示例代码或向微软工程师提出示例请求,轻松解决常见的编程问题,大大减轻工作负担。 本文以一个名为AzureBingMaps的示例应用程序为例,分享了一些在开发该示例过程中积累的经验,以期对广大开发人员有所帮助。AzureBingMaps是一个旅游站点管理系统,演示了很多技术,可以认为是一个实际项目。 写这个示例的初衷 在Windows Azure论坛,我们常见到这样的开发人员... 阅读全文

一起谈.NET技术,.NET中的异步编程:使用F#简化异步编程

2011-09-01 23:57 by 狼人:-), 172 阅读, 0 推荐, 收藏,
摘要:不管是使用yield或借助第三方类库来简化异步编程,或多或少总是感觉不那么正统,有点hack的感觉。这种感觉在实验阶段倒还可以,要是用在产品中总有点担心,即使这些类库来自权威的第三方,我不知道大家有没有跟我同样的感觉。那么这个时候我们就会想,如果在语言中直接能提供这种机制该多好呢。 F#的异步工作流 在Visual Studio 2010中,新包含了一种语言:F#。F#的一大特性就是异步计算。能让你用同步的方式编写异步的代码,不用使用AsyncCallback回调将一个方法分为两段,也不用注册异步完成事件。 F#是一个强类型的函数式编程语言,现在是2.0版本,在VS2010中... 阅读全文

一起谈.NET技术,C# 基础概念之延迟加载

2011-09-01 23:57 by 狼人:-), 199 阅读, 0 推荐, 收藏,
摘要:延迟加载,亦称延迟实例化,延迟初始化等,主要表达的思想是,把对象的创建将会延迟到使用时创建,而不是在对象实例化时创建对象,即用时才加载。这种方式有助于提高于应用程序的性能,避免浪费计算,节省内存的使用等。针对于这种做法,似乎称之为即用即创建更为合适些。 先来看一下在Framework4.0中如何实现延迟加载。 Framework4.0提供了一个包装类Lazy<T>,可以轻松的实现延迟加载。 ///这行代码表明:要创建一个延迟加载的字符串对象s///原型为Lazy<T> 对象名=new Lazy<T>(Fun<T>)///采用泛型委托进行构造,实例 阅读全文

一起谈.NET技术,.NET简谈委托链

2011-09-01 23:57 by 狼人:-), 196 阅读, 0 推荐, 收藏,
摘要:说起链表大家都很熟悉,说起委托相信大部分的.NET程序员都也很了解。在平时的开发过程中经常会用到这两种技术,只不过链表在.NET里面已经被封装了,让我们用起来更加的方便就是集合类型Collection。在某些时候我们有必要要了解这些方便而又快捷的背后是怎样封装的,委托是一种特殊的类型,在.NET里面是用来作为方法的一种封装。在一些非托管的代码中如C++就没有这么幸运了,我们要面对是一些复杂的地址变换、链表的指针维护、内存的取址等等。微软一向都是人性化模仿的对象,不管是他的操作系统还是开发平台IDE做的都很舒服。可能有的人会说把程序员这么崇高而又神秘的职业该大众化了,是人都会写程序。这种问题.. 阅读全文

一起谈.NET技术,Silverlight 应用整合

2011-09-01 23:57 by 狼人:-), 256 阅读, 1 推荐, 收藏,
摘要:Silverlight与企业信息化 在企业应用系统中,企业客户不在满足于呆板的Portal、树形结构、数据堆积的表格和满屏的文字描述。企业客户越来越倡导用户体验,Silverlight迎合了这种需求,实现了炫目的体验和丰富交互的应用,更重要的是Silverlight更适合企业应用系统的开发,依靠.Net平台,使用C#高级语言代替JavaScript脚本语言,实现了强大的客户端计算能力、支持多线程,丰富的控件、特效与动画,更可控的浏览器适应性,更安全的沙箱模式,客户端嵌入式数据库等。 现在企业应用开发有两大阵营,一个是Java,另一个是.NET平台,难道Silverlight只能服务... 阅读全文

一起谈.NET技术,asp.net控件开发基础(6)

2011-09-01 23:48 by 狼人:-), 291 阅读, 1 推荐, 收藏,
摘要:位于WebControls命名空间的style类为顶级样式类.大部分标准控件都拥有其样式属性。 1.下面为设置样式方法 (1)你可以直接设置控件样式 Button1.BackColor=System.Drawing.Color.Red; (2)通过获取web控件的样式集合来设置 Button1.ControlStyle.BackColor=System.Drawing.Color.Red; (3)通过设置样式类,利用WebControl类的ApplyStyle方法来复制非空样式,并改写现有样式 myStyle.BackColor=System.Drawing.Color.Red... 阅读全文

一起谈.NET技术,asp.net控件开发基础(5)

2011-09-01 23:48 by 狼人:-), 143 阅读, 0 推荐, 收藏,
摘要:我们根据属性的不同表现形式,把其区分为简单属性和复杂属性,下面来看下属性的表现形式。简单属性表现形式如下,大家都很熟悉 <asp:TextBoxID="TextBox1"Text="textbox控件"runat="server"></asp:TextBox> 属性中含有子属性,称之为复杂对象,如Font属性,复杂属性的表现形式如下: (1)连字符的表现形式 <asp:TextBoxID="TextBox1"Text="textbox控件"runat="s 阅读全文

一起谈.NET技术,asp.net控件开发基础(4)

2011-09-01 23:48 by 狼人:-), 172 阅读, 0 推荐, 收藏,
摘要:一.从继承WebControl开始 在第二篇教程中,重点介绍了Render()方法的使用,用来呈现控件,但从Control类继承的控件尚未发挥asp.net控件的作用.大家知道web服务器控件分为HTML服务器控件(如<input id="Button2" runat="server" type="button" value="button" />这样的形式)和标准服务器控件(就是<asp:.. id="" runat="server"/>这样的形式的 阅读全文
上一页 1 ··· 233 234 235 236 237 238 239 240 241 ··· 312 下一页