代码改变世界

随笔分类 -  .Net Framework

【读书笔记】《框架设计(第2版)CLR Via C#》中两个比较有趣的知识点

2009-12-20 17:18 by GUO Xingwang, 2615 阅读, 收藏, 编辑
摘要: 在阅读这本书时我发现很多值得思考和有趣的地方,例如:JR关于调用的参数和返回值的建议;位索引器示例;触发事件的事件安全;字符串格式化和字符串的驻留等。尤其是.NET的垃圾回收机制在这本书中讲的很详细。其中有两个知识点是让我感到收获很大的地方而且例子也很详细,我在这里就单独拿出来与大家分享,同时也作为知识点进行总结,这里讲没什么技术含量,大家别BS我。 阅读全文

【经验总结】.Net的并发连接数限制问题

2009-12-18 22:03 by GUO Xingwang, 6878 阅读, 收藏, 编辑
摘要: 最近在项目中遇到了很棘手的问题,查到最后发现是由于HttpWebRequest对于同一个domain的请求建立的连接数同时不能超过两个的限制造成的。我用这篇短文把对这个问题的处理记录下来,同时也做为个人的经验积累吧,希望对大家有所帮助。 阅读全文

对于Global Assembly Cache与Native Image Cache的一点探索

2008-12-08 13:32 by GUO Xingwang, 2861 阅读, 收藏, 编辑
摘要: 有过.Net平台上开发经验的朋友,很多人对Global Assembly Cache(文中简称GAC)都不陌生,但是很少有人听过Native Image Cache(文中简称NIC,这是自己起的简称)。在这篇文章里我将对GAC和NIC做一个稍稍深入的探讨,包括一些使用上的小技巧,部分是本人对于一些概念的理解和一些微软的MSDN中没有记载的或回避的内容,希望这篇文章能给大家带来一点收获。 阅读全文

BlogEngine.Net架构与源代码分析系列part13:实现分析(上)——HttpHandlers与HttpModules

2008-11-13 16:08 by GUO Xingwang, 4643 阅读, 收藏, 编辑
摘要: 这已经是系列的第13篇了,实际上到现在为止您应该对BlogEngine.Net的整体设计有了一定的把握,对部分实现细节有了比较深刻的认识,在阅读BlogEngine.Net时希望坚持到最后,并把握住宏观,深入到微观。本文将详细介绍BlogEngine.Net中的HttpHandlers与HttpModules,主要说明它们要实现的功能以及如何使用,并对几个必要的HttpHandler或HttpModule进行比较细致的分析。 阅读全文

BlogEngine.Net架构与源代码分析系列part9:开发扩展(上)——Extension与管理上的实现

2008-11-11 15:32 by GUO Xingwang, 4658 阅读, 收藏, 编辑
摘要: 从这篇文章开始的连续三篇文章我将向大家展示BlogEngine.Net中的三大开发扩展特性,它们分别是Extension,Widget和Theme。程序员可以在符合一定标准条件下开发自己的扩展,然后将扩展像插件一样(Plug'n play)与BlogEngine.Net进行集成,来达到个性化的应用。本文将详细介绍第一种扩展Extension的开发标准,管理部分介绍等。 阅读全文

BlogEngine.Net架构与源代码分析系列part1:开篇介绍

2008-11-05 15:27 by GUO Xingwang, 18311 阅读, 收藏, 编辑
摘要: 本系列文章介绍的是BlogEngine.Net 1.4.5版本,这是官方前不久发布的一个版本。大家可以在http://www.codeplex.com/blogengine 下载最新的源代码和相应的说明文档。此外,您还可以在它的官方站点http://www.dotnetblogengine.net/上了解更多的安装和一些扩展开发等问题,还可以下载一些开发者已经做好的皮肤。讲解代码使用C#,基于.Net Framework2.0。 阅读全文

static成员与Asp.net中Application对象的线程同步实现

2008-11-03 16:41 by GUO Xingwang, 2543 阅读, 收藏, 编辑
摘要: 在做.net平台的应用开发时经常遇到线程同步的问题,在多线程环境下对共享资源的访问我们有lock关键字来实现线程同步。lock关键字实际上也就是Monitor.Enter和Moniter.Exit的语言级别上的实现,本质上没有区别。那么Monitor.Enter和Moniter.Exit在底层上又是怎么实现的呢?Asp.net的Appliction对象(以下直接称为Appliction)又是怎样封装的呢? 阅读全文

一个自己写的组件--异常报告(3):开发一个异常处理程序

2008-07-04 22:37 by GUO Xingwang, 1929 阅读, 收藏, 编辑
摘要: 上文中我对异常报告组件进行了重构和配置,实际上在上文中MyDebuger组件就已经完成了。我在设计这个组件时考虑到了它的扩展性,其中一个重要的扩展就是可以定义新的异常处理程序模块之后通过配置与主程序一起工作。这节我就开发一个简单的异常处理程序,之后进行配置实现写日志到文件系统。 阅读全文

一个自己写的组件--异常报告(2):组件的重构和配置

2008-07-03 20:40 by GUO Xingwang, 1768 阅读, 收藏, 编辑
摘要: 在上一篇文章中我对异常报告组件MyDebuger做了一个一般性的介绍并用简单的C#对其进行了实现,发表之后网友们提出了一些建议,也提出了一些Bug。在这里,非常感谢来自你们的建议,我从中领略到了社区对于软件开发的重要性,社区的意见是宝贵的。其中有一位朋友说"虽然能看懂但是代码逻辑混乱,应该好好重构下",还有人说那个Debuger.Debug()方法中的obj为空的问题.自己仔细的考虑了一下,可能确实比较混乱,于是在这一篇文章中我将着力讲述我对MyDebuger组件是怎样进行重构的,并对上一节提到的配置问题进行了实现(实现的可能不太好,但是已经基本满足需求了).花了一整天时间,希望这次会好一点。 阅读全文