浅谈ASP.NET的本质【ASP.NET到底是什么?】
<div id="cnblogs_post_body"> ASP.NET是微软公司提供的编写动态网站的技术框架,其特点是基于.NET框架基础,所有的ASP.NET程序都可以使用针对.NET的语言编写。在微软的VS开发平台中,实现了拖放控件等便捷的功能,使得ASP.NET应用程序的开发效率得到了较大的提高,今年来ASP.NET逐渐成为网站开发的主流技术之一。但是ASP.NET的本质到底是什么?为了回答这个问题,下面先介绍2个概念。
1.NET 宿主
作为一个致力于运行在Windows操作系统之上的技术框架,.NET的实现充分体现了这一点。.NET小组实质上把CLR实现为一个标准的COM服务器组件,CLR具有标准的COM接口和接口GUID,在安装.NET时,CLR作为一个COM服务器将在操作系统内被注册。使用VS自带的OleView工具可以查看到操作系统上已注册的COM组件,下图显示了DebugLZQ笔记本上注册的CLR。
http://pic002.cnblogs.com/images/2012/281227/2012080922050013.png
注册成COM服务器的CLR
可从下图路径找到这个工具。
http://pic002.cnblogs.com/images/2012/281227/2012080922081655.png
作为标准的COM服务器,CLR实质上是可以被客户端加载使用的,也就是说,在非托管的代码上,可以通过加载一个COM服务器的方法来加载一个CLR,从而在这个CLR中加载程序集、模块,进而运行托管代码。
下面给出一个简单的加载CLR的示例。
简单的托管Assembly代码如下:
<div class="cnblogs_code">using System;namespace NET.MST.Eighth.SimpleAssembly{ /// <summary> /// 一个简单的程序集,输出传入的字符串 /// </summary> public class SimpleAssembly { static int WriteString(String s) { Console.WriteLine("CLR Host Output:" + s); return 1; } }}
页:
[1]