.NET框架,ASP.NET 基础学习
.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的跨平台开发概念,这两个平台似乎是竞争对手吧~
这里有一个关于各个版本的栈图,可以看到版本结构。(图片来自维基百科英文页面‘.NET Framework’关键词)
.NET的初级组成是 CIL和CLR ,关于它们的运作图如下:
(图片来自维基百科)
图片中可以看到, CLI 其实是.NET的一个软件开发和运行的枢纽性平台。
他的功能包括异常处理,垃圾回收,安全保障以及互操作( interoperability )等。
通过这个平台,.NET 框架可以实现支持多语言。
CLI的实现依赖于通用语言运行CLR(Common Language Runtime)。
CLR 其实是.NET框架的运行引擎,.NET程序的运行必须在CLR的监管之下,以保证程序在内存管理、安全性和异常处理中的性能和行为。
.NET的特色:
互操作性( Interoperability ),就是说可以在不同的系统下运行。 CLR引擎( Common Language Runtime Engine ),参照上面对CLR的表述。 独立的语言(Language Independence),支持.NET的语言中任意两种语言之间type 和 object instances的交换。 基类库 ( Base Class Library ),框架类库的一部分,可以被支持.NET框架的所有语言所使用,包含了许多通用功能,如文件读写,图像渲染等。 简单调度( Simplified Deployment ) 安全(Security) 可移植( Portability ).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 物件。它们的差异点在于:
ViewState 是加密的资料流,和 HTML 一起输出到用户端。 Cookies 是加密(也可不加密)的小型资料,和 HTML 不同,它可以快取在用户端浏览器中。 Session 是服务器端的状态保存机制,每个用户端均有独立的空间(以浏览器执行个体来赋与唯一的SessionID值)。 Application 是服务器端的状态保存机制,但应用程式所有的用户端共用同一份状态资料。ASP.NET部件:
ASP.NET 是开发 Web 应用程式的基础架构 (framework),除了内部的运作方法外,对外也有许多的开发支援,这样可以给工程师更多的选择方案。
基础部件包括 :
网页: ASP.NET 最基础的底层为网页 (Page),网页由 System.Web.UI.Page 类提供支持。ASP.NET 网页在微软的官方名称中,称为 Web Form , ASP.NET Page 所要提供的功能就需要类似 Windows Forms 的表单,每个 Web Form 都要有一个 <form runat="server"></form> 区块,所有的 ASP.NET 服务器控件都要放在这个区域中,这样才可以让 ViewState 等服务器控制能够顺畅的运作。
控件: ASP.NET 的内建控件分为两种:HTML控件和Web控件。除此之外, ASP.NET 也提供了可以自定义的控件架构。 脚本:A SP.NET 的 Web 控件有时会包装一些用户端脚本 (client-side scripting),在控件被绘制时输出到用户端,这些脚本多数被包装在 DLL 的资源档中,并由 ScriptResource.axd 处理例程来输出。 基本物件: Application、 Request、 Response、 Session、 Server导览部件: (是在 ASP.NET 2.0 中才出现的功能)
选单 (Menu):提供内建的鼠标侦测方式,实作阶层式的选单功能。 网站地图 (Sitemap):提供可层次化目前浏览位置的功能,可支援由 Web.sitemap 中的资料,或是来自数据库或 XML 资料档中的资料来源。 树状查看 (TreeView):提供阶层化的资料浏览,类似于资源管理器的接口。另外两种是应用程式服务和延展性支援。
哎,我觉得。。说的多了也记不住,了解这些也就差不多了,咱就是写个小代码,弄清楚网路干什么呢。。╮(╯▽╰)╭
I am just a beginner, here we will learn and get familiar with it together.
.NET框架,ASP.NET 基础学习
posted @ 2012-02-11 16:18 勤劳的饺子 阅读(786) | 评论 (1) 编辑
什么是ASP 以及ASP环境的配置。
posted @ 2012-02-10 21:27 勤劳的饺子 阅读(478) | 评论 (3) 编辑
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于.NET框架,ASP.NET 基础学习的详细内容...