找回密码
 会员注册
查看: 333|回复: 0

ASP.NET 简介

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962988
发表于 2024-2-29 08:54:15 | 显示全部楼层 |阅读模式

    ASP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。

    ASP.NET具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示的内容,让丰富多彩的网页更容易撰写。同时使程序代码看起来更洁净、更简单。

一、软件简介

    1.ASP.NET 是开源,跨平台,高性能,轻量级的 Web 应用构建框架,使用 .NET 构建 Web 应用。

    2.ASP.NET 是一个开发框架,用于通过 HTML、CSS、JavaScript 以及服务器脚本来构建网页和网站。

    3.ASP.NET 支持三种开发模式:

Web PagesMVCWeb Forms
单页面模型模型视图控制器事件驱动模型

Web Pages

最简单的 ASP.NET 模型。

类似 PHP 和 ASP。

内置了用于数据库、视频、社交媒体等的模板和帮助器。

MVC

MVC 将 web 应用程序分为三种不同的组件:

  • 针对数据的模型

  • 针对现实的视图

  • 针对输入的控制器

Web Forms

传统的 ASP.NET 事件驱动开发模型。

添加了服务器控件、服务器事件以及服务器代码的网页。

二、语言特点

  多语言支持

    多语言支持是ASP.NET的重要新特性之一,主要表现在所支持的编程语言种类多和单个语言功能强两个方面。首先,ASP.NET为Web应用提供一种类似于Java编译技术的“二次编译技术”——中间语言MSIL(Microsoft Intermediate Language)执行架构,先将ASP.NET应用编译成MSIL,再将MSIL编译成机器语言执行。这样,只要能被编译成MSIL的编程语言都可以用来编写ASP.NET应用。

    其次,ASP.NET所支持的编程语言是指这种语言的功能全集(而不是子集),所以,ASP.NET中每种编程语言的功能要比ASP中使用的VB script和Java Script更为强大。

  增强的性能

    在ASP.NET中,页面代码是被编译执行的,它利用提前绑定、即时编译、本地优化和缓存服务来提高性能。当第一次请求一个页面时,cLR对页面程序代码和页面自身进行编译,并在高速缓存cache中保存编译结果的副本。当第二次请求该页面时,就直接使用cache中的结果(无需再次编译)。这就大大提高了页面的处理性能。

  类和名空间

    ASP.NET包含一整套有用的类和名空间(Namespaces)。名空间被用做一种有组织的机制——一种表示可用于其他程序和应用的程序组件的方法。名空间包含类。和类库一样,名空间可以使Web应用程序的编写变得更加容易。HtmlAnchor、HtmlContrl以及HtmlForm是ASP.NET中的几个类,它们被包含System.web.UI.HtmlControl空间中。

  服务器控件

    ASP.NET提供了许多功能强大的服务器控件,这大大简化了web页面的创建任务。这些服务器控件提供从显示、日历、表格到用户输入验证等通用功能,它们自动维护其选择状态,并允许服务器端代码访问和调用其属性、方法和事件。因此,服务器控件提供了一个清晰的编程模型,使得Web应用的开发变得简单、容易。

  支持web服务

    ASP.NET提供了强大的、标准化的web服务支持能力,通过使用Internet标准,可以将一个web服务和其他web服务集成在一起。web服务提供了构建分布式web应用的基本模块。ASP.NET允许使用和创建web服务。

  更高的安全性

    与ASP相比,在支持常规windows身份验证方法的基础上,ASP.NET还提供了Passport和cookie两种不同类型的登录和身份验证方法。同时,ASP.NET还采用了基于角色的安全模式,为不同角色的用户指定不同的安全授权。另一方面,ASP.NET还使得创建基于页面的身份验证工作变得更为简单。

  良好的可伸缩性

    在ASP.NET中,允许使用跨服务器会话(Cross - Server Sessions),其会话状态可以被另一台机器或另一个数据库上的其他的进程所维护。随着信息处理和传输流量的增加,可以为系统添加更多的Web服务器。

  无Cookie会话

    即使在浏览器不允许使用cookie的情况下,ASP.NET仍然能够使用户使用会话状态。与带cookie的会话不同,无cookie会话是通过URL将会话标识(SessionID)传递到ASP.NET页面的。

三、语言基础

  • Request对象
  • Response对象
  • Server对象
  • Application对象
  • Session对象
  • Cookie对象

 

  Request
    Request封装了客户端请求信息。Request的常见属性如下:

属性名

值类型

说明

ApplicationPath

String

获取请求的资源在网站上的根路径

ContentEncoding

Encoding

设置请求对象的编码

Cookies

HttpCookieCollection

客户端发送到服务器的Cookie集合

QueryString

NameValueCollection

当前请求的查询字符串集合

UrlReferrer

Uri

获取用户由哪个url跳转到当前页面

  Response

    Response代表了服务器响应对象。每次客户端发出一个请求的时候,服务器就会用一个响应对象来处理这个请求,处理完这个请求之后,服务器就会销毁这个相应对象,以便继续接受其它客服端请求。
    Response常用属性如下:

属性名

值类型

说明

Charset

string

表示输出流的所使用的字符集

ContentEncoding

Encoding

设置输出流的编码

ContentLength

Int

输出流的字节大小

ContentType

string

输出流的HTTP MIME类型

Cookies

HttpCookieCollection

服务器发送到客户端的Cookie集合

Output

TextWriter

服务器响应对象的字符输出流

RedirectLocation

string

将当前请求重定向

    Response常用方法

属性名

返回值类型

说明

AppendCookie

void

向响应对象的Cookie集合中增加一个Cookie

Clear

void

清空缓冲区中的所有内容输出

Close

void

关闭当前服务器到客户端的连接

End

void

终止响应,并且将缓冲区中的输出发送到客户端

Redirect

void

重定向当前请求

  Server
    Server对象是用于获取服务器的相关信息的对象。它常用方法如下:

属性名

返回值类型

说明

Execute

void

执行指定的资源,并且在执行完之后再执行本页的代码

HtmlDecode

string

消除对特殊字符串编码的影响

HtmlEncode

string

对特殊字符串进行编码

MapPath

string

获取指定相对路径在服务器上的无力路径

Transfer

void

停止执行当前程序,执行指定的资源

UrlDecode

string

对路径字符串进行解码

UrlEncode

string

对路径字符串进行编码

  Session对象

    内置对象Session负责存储、读取和改变一个特定用户的会话信息,对于每个用户的每次访问Session对象都是唯一的。

属性说明
 SessionID表示一个会话的存在,当用户与服务器建立连接时服务器就自动给用户分配一个SessionID,SessionID可以区分不同的会话(Session) 
TimeOut表示在一个会话结束之前会等待用户没有任何活动的最大时间,单位是分钟。

方法说明
 Add(name,value)新增名字为name,值为value的Session变量
Clear清除所有Session变量
RemoveAll清除所有Session变量
Remove(name)清除名字为name的Session变量
RemoveAt(index)删除索引为index的Session变量
Abandon调用该方法用于消除用户的Session对象并释放其所占的资源。

  Cookie对象

    在Web程序设计中,它表示一个长度不超过4k的文本文件,这个文件在用户的硬盘上,可以由Web浏览器进行访问。

 

  Application对象

    是一个集合对象,并在整个ASP.NET网站内可用,不同的用户在不同的时间都可以访问Application对象的变量。由于它是一个内置对象,所以使用它的时候与使用Response对象和Request对象类似,不需要进行任何对象的实例化,就可以直接使用。

属性说明
Count取得Application对象变量的数量

方法说明
Get使用索引或变量名称获取变量的值
GetKey使用索引获取对象变量的值
Add(name,value)新增一个名称为name,值为value的Application对象变量
Set(name,value)更新名为name的Application对象变量的值
 Clear清除全部的Application对象变量
Remove(name)删除名称为name的Application对象变量
​​​​​​​Lock锁定所有Application对象变量
 UnLock解除锁定所有Application对象变量

   
 

下面是Session、Cookie和Application的区别:

名称

使用范围

存储位置

存放数据类型

生命周期

Session

特定用户

服务器

Object,也就是任意类型

有,可以自行设置

Cookie

特定用户

客户端

String,也就值字符串

可以自行设置

Application

所有用户

服务器

Object,也就是任意类型


来源:https://blog.csdn.net/m0_61690793/article/details/120668741
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 01:08 , Processed in 0.422570 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表