.
第1章 ASP.NET 3.5简介 ? ? ? ? ? ? ? 1
教学大纲 ASP.NET 3.5概述 .NET Framework简介
Visual Studio 2008的安装和使用 教学目标
了解ASP.NET的作用、发展 了解ASP.NET 3.5基础知识 了解.NET Framework基础知识 掌握Visual Studio .NET 2008的使用 课堂内容
ASP.NET在Web中扮演的角色是什么
ASP.NET是一种程序架构,它是把运用通用语言(C#、VB语言)编写的程序运行在服务器上,不同于以前的ASP程序时即时解释程序,而是将程序首次运行在服务器端是进行编译,这比一条一条解释程序好得多。
1.2 ASP.NET可以做些什么 1.2.1
可以利用ASP.NET建立基于Web的B/S结构的应用程序,并且这种ASP.NET架构还有微软公司的Visual Studio .NET开发平台的支持,通俗地说就是可以利用Visual Studio .NET开发平台开发基于ASP.NET程序架构的应用程序,支持后台开发语言可多达20多种,其中c#语言最为常用,它是.NET独有的语言。
1.3 ASP.NET 3.5 是什么 1.3.1 1.3.2 1.3.3
ASP.NET 3.5是一种建立在公共语言运行时(CLR)上的编程框架,用于构建运行在服务器上的动态Web应用程序,程序执行效率得到提高。
ASP.NET 3.5是微软公司推出的全新的基于B/S模式的程序架构,与此配套的升级版语言常用的是c# 3.5版本。
ASP.NET是一个的Web应用程序开发平台,支持任何浏览器的编程模型和基础结构,其中.NET Framework是ASP.NET 的重要组成部分,随着.NET Framework3.5的发布,ASP.NET的版本也升级到了3.5。对于.NET 3.5来说,最重要的就是.NET Framework框架。
1.4 .NET Framework是什么 1.4.1
情景:如果有一个公司有一个很大的项目,需要很多人来开发,但这些人所擅长的开发语言是不同的,能否让这两组开发人员一起工作?这个问题就像“一个西班牙人和一个法国人,两个人所说的语言均是不同环境下的小语种,利用他们所说的语言能否相互沟通呢?”肯定不能,那么两人如果想沟通,必须依靠什么?那就是翻译。这就是.NET Framework要解决的问题。
1.4.2 1.4.3
Microsoft.NET Framework是一种简化分布式开发的平台,主要包含两个组件:公共语言运行时环境CLR和 .NET Framework类库FCL 公共语言运行时CLR 型安全检查
1.4.3.2 CLR的基本原则是代码管理,由CLR管理的代码称为托管代码,不由CLR管理的代码称为非托
管代码
1.4.4
.NET Framework类库
如支持SQL数据库访问的类包含在System.Data.Sql.SqlClient基类中
1.4.4.1 程序员使用.NET所支持的编程语言开发应用程序,这些应用程序所使用的基类就是由FCL提供的,1.4.3.1 CLR在程序执行时管理代码的底层环境,提供内存管理、线程管理和远程处理等,实施严格的类
1.1 ASP.NET是什么 1.1.1
.
1.4.4.2 FCL支持多种应用程序的开发,这些应用程序类型可包括:
控制台应用程序、Window应用程序、ASP.NET应用程序、Windows服务、XML Web服务、Web窗体等。
2
.NET Framework框架体系
2.1 .NET Framework是一个创建、部署和运行应用程序多语言/多平台环境,.NET框架体系结构图:
2.2 从图上可以看出,在一个操作系统平台上可以运行多种语言,如VC++.NET,c#,VB.NET,VJ#等,但是这些语言只是运行在一个操作系统平台上,相互之间还不能直接相互调用。如果要相互调用,必须借助于.NET Framework。而.NET Framework就是中间的部分,它包含FCL和CLR。
2.3 .NET Framework提供了一个应用程序运行时环境,就是CLR(Common Language Runtime),这是一种可操控的执行环境,其功能时通过编译器与其他工具共同实现。通俗地说,CLR就是充当了翻译的角色,CLR可以把两种不同的高级语言(c#和VB.NET)翻译成另一种可以相互通用调用的语言,叫做中间语言MSIL,它是介于高级语言和机器语言之间的伪汇编语言。所以在执行指令时即时编译器(JIT)把MSIL转换成机器代码(二进制代码),下图演示了 C# 源代码文件、基类库、程序集和 CLR 的编译时与运行时的关系:
用 C# 编写的源代码被编译为一种符合 CLI 规范的中间语言 (MSIL)。IL 代码与资源(如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为 .exe 或 .dll。程序集包含清单,它提供关于程序集的类型、版本、区域性和安全要求等信息。
执行 C# 程序时,程序集将加载到 CLR 中,这可能会根据清单中的信息执行不同的操作。然后,如果符合安全要求,CLR 执行实时 (JIT) 编译以将 IL 代码转换为本机机器指令。 理论来说,MSIL将消除多年以来业界中不同语言之间的纷争。
2.4 .NET Framework 3.5 在2.0的基础上添加了一些新的组件,包括: ? ?
Windows Workflow Foundation(WWF):用户支持工作流的应用程序开发
Windows Communication Foundation(WCF):用于支持面向服务的应用程序,用于应用程序之
.
间的相互通信 ? ? 3 3.1 3.2 3.3
Windows Presentation Foundation(WPF):适用于不同用户界面的统一方法 Windows Card Space:一致的数字标识用户控件 ASP.NET 3.5应用程序结构是什么
在创建ASP.NET应用程序时,必须了解其结构,利用ASP.NET创建的网页文件扩展名为.aspx。 ASP.NET应用程序时运行在服务器上的Web程序,如果在本机运行需要安装IIS服务器并且创建虚拟目录,以便在浏览器中以HTTP方式访问,如果不在本机运行可以搭建其他的服务器。 虚拟目录:是目录的一种,每个Internet服务都可以从多个目录发布,而每个目录可以定位在本地机器或网络的任意地点,然后利用HTTP进行访问。一个服务器可以拥有一个主目录和任意多个其他目录,这些其他目录称为虚拟目录。虚拟目录不在目录列表,每个虚拟目录都有一个目录名称和一个别名(即服务名),如果用户想要访问虚拟目录,方式:http://www.服务名。
3.3.1 要创建寻目录,必须安装IIS,IIS安装步骤演示和虚拟目录安装步骤演示(学生自己看书完成。 3.4 3.5
网页文件:分为动态网页和静态网页,静态页面一般适用于信息更新很少的页面
配置文件:实际上是一组规则,使用 ASP.NET 配置系统的功能,可以配置整个服务器上的所有 ASP.NET 应用程序、单个 ASP.NET 应用程序、各个页面或应用程序子目录。可以配置各种功能,如身份验证模式、页缓存、编译器选项、自定义错误、调试和跟踪选项等等。在使用Vs2008创建网站时会自动在根目录下创建一个Web.config配置文件,在这里可以根据需要自己添加规则。
3.5.1 用户可以通过使用configurationsettings.appsettings静态字符串集合来访问web.config 3.6
Global.asax文件:Global.asax 文件(也叫做 ASP.NET 应用程序文件)是一个可选的文件,该文件包含响应 ASP.NET 或 HTTP 模块引发的应用程序级别事件的代码。
3.6.1 作用:定义Application级别、Session级别的变量、对象和数据;定义在Application中的基于
Application、Session的事件;
3.6.2 在这个文件中,可以实现很多网站功能,如计数器、查看在线人数和历史访问量等,它是以Script
脚本形式编写内容。
3.7
共享目录
录,它们用于存放能在不同页面之间共享的代码文件。
3.7.2 举例:将已经编译好的.dll文件存放到Bin目录下,可以供其他Web应用程序引用,一般编译成.dll
文件的代码,都是编程人员定义好的类对象,可供所有应用程序调用。Bin目录中的.dll文件没有任何入口,无法单独执行,只能在被引用后,由其他程序执行。
3.7.3 APP_Code目录中的源码在运行时被自动编译,主要用来存放用户自定义的类和其他的纯代码。它
可以包含若干数量的文件和子目录,可以按照开发者的习惯来组织源代码。
4 4.1
ASPX网页的代码模式
ASP.NET网页由两部分组成:前台代码和后台代码,前台代码即展示给用户的可视元素,包括标记、服务器控件和静态的文本信息等,后台代码时整个页面的编程逻辑,包含了很多事件处理的代码程序
4.2 4.3 4.4 4.5 5 5.1
利用VS 创建网站,演示文件实例
后台代码中,程序默认地引入了很多命名空间供用户使用,System为根命名空间,引用的语句为:using System;每个命名空间中提供了大量的类和对象供使用,这些是由FCL提供的
网页的基类是:System.Web.UI.Page,这个类里有许多的方法,同学自行查看教材第17页Page类属性表格
网页代码的存储模式:包含设计、拆分、源 如何搭建Web开发环境
演示:IIS安装、VS 2008安装、数据库安装
3.7.1 ASP.NET允许Web应用的根目录下存在两个特殊的目录,一个是Bin目录,一个是App_Code目