技术开发 频道

CLR Hosting 系列 首篇

  [IT168技术文档]本篇文章是CLR Hosting系列中的首篇,篇中简要介绍一下这一系列文章的主题,并作为一个占位来提供系列中文章的索引链接,起到一个目录的作用。

  Microsoft .Net platform 是微软当前技术策略中的强势主流,已基本上渗透到了微软技术的方方面面。.Net Framework 2.0版的发布,标记了.Net CLR 核心部分组件的基本成熟和稳定,.Net Framework 3.0版中,又补充进了WPF、WCF和WF三大方面的框架体系。在.NET platform 版图不断扩大、完善的背后,其CLR技术核心在体系结构上的主要改进,也正在为与将来的Windows操作系统进一步深度集成做着精心的准备,可以说,微软在新技术框架下的基础设施方面的建设,正逐步走上轨道。那么,这些技术的应用方面情况如何呢?

  我们先来看看服务器端的应用情况。服务器端的应用,首先让人想到的是目前已被广泛使用的ASP.NET,无论是ASP.NET Web Application还是ASP.NET Web Service,都是.Net CLR在为其提供核心的驱动力。随着微软Web Server基础软件IIS7的即将推出,主机供应商提供的ASP.NET空间服务将会更加方便、灵活,且具备更加深入的可编程性。再看微软的另一款重量级的服务器软件MS SQL Server,从.Net Framework 2.0开始,.Net CLR已可以被集成进SQL Server了,已经可以使用.Net CLR的Managed Code为SQL开发存储过程。相信将来,更多的微软或其他第三方的服务器软件会集成.Net CLR,提供强大的可扩展能力。

  我们再来看看客户端用户桌面上的情况。多数Windows系统的用户,其桌面系统中已内置部署了.Net Framework。而且,微软提供的许多常用的软件,都已经提供了.Net的支持能力,例如Office System、Internet Explorer等等,这些桌面软件的用户,可以使用Managed Code为其开发扩展组件(Addins),或以Code Behind Document形式将代码关联在文档上。但是,纯粹以Managed Code的形式实现的较大规模的桌面软件,无论是来自微软自己的,还是来自其它软件厂商的,都还没有出现,但在微软的新的产品中均出现了对.Net的支持迹象。这一点,也从另外一个角度说明了.Net技术在桌面环境下目前阶段的应用方向和特点。

  读到这里,您或许会有疑问,上面的介绍与文章系列的主题CLR Hosting似乎没有什么关系呀。这里可以用一个问题来解释这一疑问,那就是,前文中提到的服务器软件或桌面软件是通过什么方式、什么技术实现了对.Net CLR的集成和支持呢?简单地回答笔者自己的问题,就是CLR Hosting。

  .Net CLR是Microsoft .Net platform technology的核心技术,是各版.Net Framework的核心组成,从本系列文章的角度来看,本质上讲它不是常规的OS内容,也不同于一般的虚拟机(VM)环境,它是一个被原生设计用来易于被宿入(host)的虚拟环境(A virtual system environment that can be easily hosted)。这一点从CLR本身的结构设计、本身的可扩展点设计、本身的可定制方面设计等等特色上均可以得到印证。一个进程宿入(host)CLR环境的过程或技术,就是CLR Hosting。

  那么,宿入CLR环境,对一个应用来说有什么益处呢?回答是显而易见的了。

  微软正在不遗余力的推进着它的.Net战略,CLR环境下Managed方式的开发,由于其合理的架构设计思想和易于上手等特点,正逐渐产生和吸引、培养着大批的使用C#、VB.net等语言工具的开发人员。如果您的系统宿入了CLR环境,不但使您在一个高度优秀的架构下获得了应用系统的可扩展能力,还潜在地把这部分开发人员一起转入了可能的、您的应用系统的扩展定制开发用户中。这是不是有足够的诱惑力呢?

0
相关文章