代码改变世界

随笔分类 - Asp.Net

【基本原理】使用托管代码实现一个寄宿ASP.NET的HTTP服务器(上)

2010-07-31 12:22 by GUO Xingwang, 2118 阅读, 收藏, 编辑
摘要: 在这两篇文章中我将带着大家实现一个简单的ASP.NET的寄宿环境,本文是第一部分,主要讲述一些原理性的内容,其中大多使用自己的通俗的语言描述一些概念和基础性的内容,为了给读者带来更多的认识,本文也解释了一些最原始的概念,有些内容是自己的总结,如有不对或理解不一致的地方请读者指出。唉,本人实在不善于写文章,写了只是为了总结一些。 阅读全文

BlogEngine.Net架构与源代码分析系列part14:实现分析(下)——网站页面上值得参考的部分

2008-11-14 13:33 by GUO Xingwang, 4611 阅读, 收藏, 编辑
摘要: BlogEngine.Net的成功不仅在于它的架构设计,它的代码实现细节也都是很经典的,每个结构分割的很清晰很自然,希望大家多多品位一下。在这篇文章里我将给大家介绍一下BlogEngine.Net的Web实现上的几个亮点,包括Web.config,Ajax的运用等。 阅读全文

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

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

BlogEngine.Net架构与源代码分析系列part12:页面共同的基类——BlogBasePage

2008-11-13 12:05 by GUO Xingwang, 4159 阅读, 收藏, 编辑
摘要: 上一篇文章我向大家展示了BlogEngine.Net中Theme的原理和一些开发规范,里面有很多内容和这篇文章有着联系,建议大家这两篇文章结合在一起看,这样效果会更好。在这篇文章中我主要向大家说明BlogBasePage,PostViewBase,CommentViewBase这三个类的内部实现上的一些技巧以及它们与页面,文章和评论之间是如何组织在一起的,希望对大家阅读这部分代码有帮助。 阅读全文

BlogEngine.Net架构与源代码分析系列part11:开发扩展(下)——自定义Theme

2008-11-12 17:53 by GUO Xingwang, 4203 阅读, 收藏, 编辑
摘要: 个性化的主题是一个完善的Blog系统中所必备的,同时也是一个亮点。在这篇文章里我将给大家展示一下BlogEngine.Net的第三个开发特性,那就是自定义的Theme。本文的重点放在BlogEngine.Net的开发规范和实现原理上。如果您对BlogEngine.Net的架构很了解的话,那么开发一个自己的Theme是一件很简单的事情,如果您不是很了解,那么你也可以按照本文讲述的规范开发出一个自定义的Theme来。 阅读全文

BlogEngine.Net架构与源代码分析系列part10:开发扩展(中)——Widget小工具

2008-11-12 12:21 by GUO Xingwang, 4150 阅读, 收藏, 编辑
摘要: 上篇文章我向大家介绍了BlogEngine.Net中开发扩展的重要一部分——Extension。在本文中我将向大家展示它的另外一种扩展特性,那就是Widget小工具,主要是Widget的开发标准和工作原理等。 阅读全文

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

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

BlogEngine.Net架构与源代码分析系列part8:扩展——DataStore分析

2008-11-10 17:39 by GUO Xingwang, 4928 阅读, 收藏, 编辑
摘要: 本系列的第四篇文章我给大家做了关于BlogEngine.Net全局配置的分析。在这篇文章里我将会对BlogEngine.Net中比较经典的部分DataStore做一个简单的分析,这个DataStore主要完成了BlogEngine.Net三大扩展特性(Extension,Widget,Theme)的数据存储部分,它提供了一个扩展特性统一的存储模型。DataStore是建立在Provider存储(本系列第三篇文章中介绍过)的上层,本文研究的内容会和后面讲到的扩展部分的文章有一定联系,希望大家继续关注。 阅读全文

BlogEngine.Net架构与源代码分析系列part7:Web2.0特性——Pingback&Trackback

2008-11-10 13:22 by GUO Xingwang, 4690 阅读, 收藏, 编辑
摘要: 今天这篇文章主要向大家讲述一下Blog系统中应用最多的,具有Web2.0特性的,也是一种标准化的——Pingback&Trackback。分析一下BlogEngine.Net提供的比较全面的Pingback&Trackback支持。本文内容相对来说比较独立,如果您对整个系列感兴趣请参照这里http://www.cnblogs.com/Thriving-Country/archive/2008/11/05/1326334.html。 阅读全文

BlogEngine.Net架构与源代码分析系列part6:开放API——MetaWeblog与BlogImporter

2008-11-07 17:28 by GUO Xingwang, 5233 阅读, 收藏, 编辑
摘要: 一款优秀的Blog系统少不了一些公开的API。BlogEngine.Net实现了标准的MetaWeblog API接口来允许用户通过客户端软件来发布自己的Blog,此外它还实现了将其它Blog系统中的文章(标准格式的BlogML或Rss)导入到BlogEngine.Net中来的BlogImporter接口,在这篇文章里我将对这些开放部分进行详细的介绍,对于涉及到的一些相关知识点也给出链接或做简单的描述。 阅读全文

BlogEngine.Net架构与源代码分析系列part5:对象搜索——IPublishable与Search

2008-11-07 11:11 by GUO Xingwang, 5142 阅读, 收藏, 编辑
摘要: 从这篇文章开始我会引入一些领域上的知识或者给出一些参考文章来供大家阅读,我们对这些领域上的知识没有必要深挖,只要大概了解一下就可以了,这对于我们分析BlogEngine.Net会有很大的帮助。在这篇文章中我主要向大家介绍一下BlogEngine.Net的搜索部分的实现以及支持的相应标准等。 阅读全文

BlogEngine.Net架构与源代码分析系列part4:Blog全局设置——BlogSettings

2008-11-06 11:43 by GUO Xingwang, 6585 阅读, 收藏, 编辑
摘要: 在这篇文章中我们将对BlogEngine.Net的全局配置进行一下分析与探讨。关于配置这一部分单独拿出来做一篇文章实在有些牵强,但是我总觉得这个配置部分比较独立,而且BlogEngine.Net的设计和实现都有很多可以参考的地方。 阅读全文

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

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