.net工作原理是什么,是否可以支持多种语言?

Python014

.net工作原理是什么,是否可以支持多种语言?,第1张

1、.net工作原理:

编码语言(c#,vb.net,c++等) 编码后,由vs负责把它编译为中间代码(MSIL),存放在装配件中,而后由JIT编译器把中间代码翻译为目标机器可读的目标代码.装配件是有中间语言编写的,主要包括.exe,.dll等文件,以及描述这些文件信息的元数据.装配件是完全自我描述的,描述信息记录在元数据中,这样关于代码的信息就不用写入注册表中,对付部署是大有好处的.如:以前的编程语言,写出的类库(dll)都要在注册表中相信记录其信息(版本等),这样程序运行时候,系统才能根据注册表中信息找到相应的DLL.

而有了装配件的概念后,这个动作就不需要了.这里涉及到DLL搜索顺序:GAC---CONFIG---可执行文件所在目录. 中间代码(IL)是独立于OS,CPU,机器的.它具有很多独有的特性,合适的JIT编译器根据不同的目标机器把IL编译成目标代码.最终生成的目标代码在托管环境下执行(CLR),CLR负责对内存进行分配和回收.控制目标代码的执行.最经常提到的托管的优点:无用存储单元回收,保证内存类型的安全性.

2、可以支持多种语言,一种语言要成为.NET语言,必须要遵守.net 公用语言运行时的标准。在.NET里面,代码需要遵守微软中间语言(Microsoft Intermediate Lanaguage),称作托管代码(Managed Code), 托管代码是由CLR(common language runtime,公共语言运行库) (而不是直接由OS)执行的代码, 所以在编译成中间语言以后,语言就不是关卡了, 一段代码可以调用或者使用另一种语言的功能。

ASP.net提供许多比现在的Web开发模式强大的的优势。

执行效率的大幅提高

ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。

世界级的工具支持

ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。

强大性和适应性

因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。

简单性和易学性

ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。

高效可管理性

ASP.net使用一种字符基础的,

分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。

多处理器环境的可靠性

ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。

自定义性,和可扩展性

安全性基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。

ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。

ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。

当创建 ASP.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义.

如果你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些HTML语言和简单的Web开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。