.NET框架 英文名(.NET Framework) 同样是微软出的一个开发平台.关于.NET的定义可以参照微软的官方说法:
“For developers, the .NET Framework provides a comprehensive and consistent programming model for building applications that have visually stunning user experiences and seamless and secure communication. ”
我简单的翻译下: .NET框架给开发者提供了一个综合、稳定的编程模型,这个模型可以用来建立一个极好的可视化用户体验、无缝并且通讯安全的应用程序。
.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支援多种语(C#、VB.NET、C++、Python等)的开发。 (来自维基百科‘.NET框架’关键词)。
类似于JAVA的跨平台开发概念,这两个平台似乎是竞争对手吧~
截止到2012/2/11,.NET官网给出的最新版本是.NET 4
这里有一个关于各个版本的栈图,可以看到版本结构。(图片来自维基百科英文页面‘.NET Framework’关键词)
.NET的初级组成是CIL和CLR,关于它们的运作图如下:
(图片来自维基百科) 图片中可以看到,CLI其实是.NET的一个软件开发和运行的枢纽性平台。
他的功能包括异常处理,垃圾回收,安全保障以及互操作(interoperability)等。 通过这个平台,.NET 框架可以实现支持多语言。 CLI的实现依赖于通用语言运行CLR(Common Language Runtime)。
CLR其实是.NET框架的运行引擎,.NET程序的运行必须在CLR的监管之下,以保证程序在内存管理、安全性和异常处理中的性能和行为。 |
.NET的特色:
.NET的语言:
由微软开发的.NET语言:
C# / Visual Basic .NET / C++/CLI / JScript .NET / J#(已停止使用) / F# / Microsoft Small Basic
第三方使用.NET的语言:
Ada / APL / Boo / COBOL / Component Pascal / Delphi 8 and Delphi 2005 / Eiffel / Forth / FORTRAN / IKVM,Java/ IronPython / Lexico / Lisp / Mercury / Mondrian / Nemerle / Oberon / Perl / Python / PHP / RPG / Ruby / Smalltalk / Tcl
什么是ASP.NET
ASP.NET是内含于.NET框架中,专门用来发展Web应用程式的一组类别库集。 它是其实是一个平台,支持.NET中的多种语言。
ASP.NET由ASP发展而来,由于它的前身ASP在使用中慢慢浮现出来的缺点,微软的团队经过xxxx的考虑,把ASP移植到CLR平台,命名改过多次,发布时为ASP+,后来又更名为ASP.NET。
ASP.NET 的运行架构分为几个阶段:
web服务器的信息流动阶段,我们借用下图表示:
(这一段是从维基百科复制的,因为我实在懒得写了,看图就挺清楚地。)
当Web 服务器接收到 HTTP 请求时,HTTP 聆听程式 (HTTP Listener) 会将请求转交给 URL 指定的网站应用程式的工作流程 (IIS Worker Process). ASP.NET 的工作流程处理器(aspnet_isapi.dll,若是 IIS 5.0 时则是 aspnet_wp.exe)会解析 URL,并启动位于 System.Web.Hosting 命名空间中的 ISAPIRuntime(视版本)物件,接收 HTTP 请求,并呼叫 HttpRuntime,执行 HttpRuntime.ProcessRequest(). 在 ProcessRequest() 中使用 HttpApplicationFactory 创建新的 HttpApplication(或是指定的 IHttpHandler 处理器),再分派给 Page 中的 ProcessRequest() 或是 IHttpHandler 的 ProcessRequest() 方法. 执行之后,再传回到 ISAPIRuntime,以及 aspnet_isapi.dll,最后交由 HTTP Listener 回传给用户端,因为执行程序有如管线般顺畅的执行,因此称为 HTTP Pipeline Mode。 |
ASP.NET状态管理: 在ASP.NET 网页中的讯息分派、处理。(略了,想看的话上维基吧,我个人觉得作为写代码的。。这个了解就好。)
ASP.NET应用程序由web server掌控,通过HTTP状态协议访问。ASP.NET中提供了多种状态管理函数。
用户端状态管理为ViewState以及Cookies,伺服端状态管理则是Session与Application物件。它们的差异点在于:
ASP.NET部件:
ASP.NET 是开发 Web 应用程式的基础架构 (framework),除了内部的运作方法外,对外也有许多的开发支援,这样可以给工程师更多的选择方案。
基础部件包括:
System.Web.UI.Page
类提供支持。 ASP.NET 网页在微软的官方名称中,称为 Web Form,ASP.NET Page 所要提供的功能就需要类似 Windows Forms 的表单,每个 Web Form 都要有一个 <form runat="server"></form>
区块,所有的 ASP.NET 服务器控件都要放在这个区域中,这样才可以让 ViewState 等服务器控制能够顺畅的运作。
导览部件:(是在 ASP.NET 2.0 中才出现的功能)
另外两种是应用程式服务和延展性支援。
哎,我觉得。。说的多了也记不住,了解这些也就差不多了,咱就是写个小代码,弄清楚网路干什么呢。。╮(╯▽╰)╭