什么是 ASP?
ASP 是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。
ASP 是一项微软公司的技术
ASP 指 Active Server Pages(动态服务器页面)
ASP 是运行于 IIS 之中的程序
IIS 指 Internet Information Services(因特网信息服务)
IIS 是 Windows 2000 捆绑的免费组件
IIS同时也是 Windows NT 4.0 的可选组件
此可选组件可通过因特网下载
PWS 的体积更小 - 不过拥有 IIS 的完整功能
PWS 可在 Windows 95/98 的安装 CD 中找到
ASP.net不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。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一般分为两种开发语言,VB.NET和C#,C#相对比较常用,因为是.NET独有的语言,VB.NET则为以前VB程序设计,适合于以前VB程序员,如果新接触.NET,没有其他开发语言经验,建议直接学习C#。
简单性和易学性
ASP.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。
高效可管理性
ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。自定义性和可扩展性 ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于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开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。你不需要先前的ASP开发经验(当然有经验更好),但是你必须了解交互式Web程序开发的概念,包含窗体,脚本,和数据接口的概念,如果你具备了这些条件的话,那么你就可以在Asp.net的世界开始展翅高飞了。
ASP.NET的架构
介绍
欢迎来到《ASP.NET网站开发》课程的第一章!在本章中,我们将深入探讨ASP.NET的架构。ASP.NET采用了一种称为三层架构的模式,通过将应用程序分解为不同的层级,使得开发人员可以更好地组织和管理代码。本节将详细讲解ASP.NET的三层架构以及架构的优势和重要性。
1. 客户端-服务器模型回顾
在上一节中,我们已经学习了客户端-服务器模型作为Web应用程序的基本架构模式。客户端通过发送请求给服务器,而服务器接收请求并发送响应。在ASP.NET中,服务器扮演着关键角色,负责处理请求并生成动态的Web页面。
2. ASP.NET的三层架构
ASP.NET采用了一种称为三层架构的模式,用于组织和管理Web应用程序的不同组件。这三层分别是表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。
表示层(Presentation Layer)
表示层负责处理与用户界面和交互相关的任务。它包括了Web页面、用户控件和视图等组件。在表示层中,开发人员使用HTML、CSS和JavaScript等技术来创建用户界面,并通过服务器控件(如按钮、文本框等)来处理用户的输入和交互。表示层的主要目标是呈现用户界面并与用户进行交互。
业务逻辑层(Business Logic Layer)
业务逻辑层包含应用程序的核心逻辑和规则。它负责处理与应用程序特定业务逻辑相关的任务,如数据验证、计算、业务规则和流程。在业务逻辑层中,开发人员编写代码来实现这些逻辑,并确保数据的正确性和一致性。业务逻辑层的主要目标是实现应用程序的业务逻辑和规则。
数据访问层(Data Access Layer)
数据访问层负责与数据源(如数据库)进行交互,执行数据的读取、写入和操作等任务。它封装了数据访问代码和数据库查询,提供了对数据的访问接口。数据访问层通常使用ADO.NET或Entity Framework等技术来处理与数据库的通信。数据访问层的主要目标是管理数据的读取和写入操作。
3. 架构的优势和重要性
使用ASP.NET的三层架构有许多优势和重要性:
可维护性
通过将应用程序分解为不同的层级,每个层级专注于特定的任务和责任,使得应用程序易于维护和扩展。当需要进行更改或添加新功能时,可以更容易地定位和修改特定的代码段。每个层级都有清晰的职责和功能,使得团队成员可以更好地理解和维护代码。
重用性
三层架构鼓励代码的重用,因为每个层级都具有明确定义的接口和功能。这样,可以将某个层级的代码复用于其他项目或模块中,从而提高开发效率。例如,可以将表示层的用户控件在不同的页面中重复使用,或者将业务逻辑层的代码用于其他应用程序。
灵活性
每个层级都可以独立进行开发和测试,因此团队成员可以并行工作,加快开发进度。此外,当需要更改某个层级时,可以仅对该层级进行修改,而无需影响其他层级。这种灵活性使得团队可以更加高效地开发和维护应用程序。
可测试性
三层架构使得单元测试和集成测试更加容易。由于各层级之间的耦合度较低,可以更轻松地编写和运行针对特定层级的测试用例,确保每个层级的功能和逻辑正确性。通过对每个层级进行单独的测试,可以更好地控制和验证应用程序的行为。
安全性
通过在不同层级中实施安全控制和访问权限,可以更好地保护敏感数据和应用程序的安全。例如,数据访问层可以对数据库访问进行严格控制,表示层可以实施用户身份验证和授权机制。通过在不同层级上实施安全控制,可以减少潜在的安全漏洞和攻击风险。
asp.net 基本语法
一. <%%>语法
<%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言。特别注意:服务器控件中不能有<%%><%%>语法,例:
<%
int a = 2;
int b = 3;
int c = a + b;
Response.Write(c);
%>
<% int a = 2; int b = 3; int c = a + b; Response.Write(c); %>
二.<%=%>
<%=%>这种形式实际上是由<%%>扩展而来的.等价于:Response.Write(<%%>)这种形式(不标准,但能看明白),它其实也可以看成是一种绑定.
aspx代码: <%=DisplayStr()%>
<%=DisplayStr()%>
aspx.cs代码:
public string DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误
{
return "bbbb";
}
三、@ 指令
ASP.NET 页框架支持以下指令。
@ Page 定义 ASP.NET 页分析器和编译器使用的特定于页的属性。只能包含在 .aspx 文件中。
@ Control 定义 ASP.NET 页分析器和编译器使用的控件特定属性。只能包含在 .ascx 文件(用户控件)中。
@ Import 将命名空间显式导入页或用户控件中。
@ Implements 以声明的方式指示页或用户控件实现指定的 .NET Framework 接口。
@ Register 将别名与命名空间及类名关联起来,从而允许用户控件和自定义服务器控件在被包括到请求的页或用户控件时呈现。
@ Assembly 在编译过程中将程序集链接到当前页,以使程序集的所有类和接口都可用在该页上。
@ Master 标识 ASP.NET 母版页。
@ WebHandler 标识 ASP.NET IHttpHandler 页。
@ PreviousPageType 提供用于获得上一页的强类型的方法,可通过 PreviousPage 属性访问上一页。
@ MasterType 为 ASP.NET 页的 Master 属性分配类名,使得该页可以获取对母版页成员的强类型引用。
@ OutputCache 以声明的方式控制页或用户控件的输出缓存策略。
@ Reference 以声明的方式将页或用户控件链接到当前页或用户控件。