ASP.NET

Asp.Net是什么与ASP有什么区别

Asp.Net是一种服务端技术

.NET Framework中一种生成Web应用程序与服务的技术

Web应用服务的编程框架

开发语言不同:Asp 局限使用脚本语言,Asp.Net 可以使用 .NET Framework规划的任一种语言

运行机制不同:Asp 是一种解释型编程框架,一边解释一边执行,无事先编译,Asp.Net 是一种编译型框架,服务器运行的是已编译好的代码

运行环境不同:Asp Window 与 IIS中执行,Asp.Net Window \IIS\.Net Framework中执行

开发方式不同:Asp 界面与逻辑混在一起,Asp.Net  界面与逻辑分离

诞生时间不同:Asp 早于Asp.Net 出现


 Asp.Net 运行机制

第一访问页面时:页面首先经过HttpModuls 和 HttpHandler处理

每次Asp.net页面请求时依据不同情况,浏览器、服务器、Asp.Net引擎之间将执行四 条路线中的一条



ASP.NET 一个页面的生命周期

Page_Init — LoadViewStateLoadPostDataPage_Laod

RaisePostDataChangedRaisePostBackEvent

Page_PreRenderSaveViewStatePage_ReanderUnLoad

1)对象初始化

  初始化事件可以通过OnInit() 方法重载

2)加载视图状态数据

  通过LoadViewState()方法重载

3)处理回传数据

  创建页面阶段,发送到服务端的Form数据,依照每个控件数据需求进行处理

  随后激发LoasPostData事件

4)对象加载

  对象在Load事件中获取正确的Form,

  通过OnLoad()方法重载

5)激发RaisePostDataChanged事件

  标识上一次提交后数据是否修改

6)处理客户端回传事件

7)对象预呈现

8)保存视图状态

9)呈现HTML

10)释放


什么是web窗体,什么是web用户控件

Web窗体是一个大容器,装载了需实现的所有控件、

Web用户控件也是一个容器,功能与web窗体类似,

用户控件为可重复使用的公共功能,必须在Web窗体内才能使用


什么是ViewState,ViewState优缺点

ViewState用于把生成页面要用的状态值保存在一个隐藏域中,它能持久化客户端的状态,而不用Cookie或者服务器的内存

优点:使用简单、存储数据不受时间限制

缺点:不能执行跨页面操作,不适合存储大数据量的信息


Session、ViewStateCookie之间的区别

Session不适用长时间保持数据,系统默认时长20分钟

ViewState用于保持单个用户状态信息,有效期等于页面生存期,不适用存储大数据

Cookie用于保存客户浏览器请求服务器页面的请求信息,不是所有浏览器都支持,并且不安全


ASP.NET常见的页面跳转方法

Response.Redirect() 浏览器重新转向指定的网页,该方法通过客户端执行,容易被篡改

  和欺骗,传递数据以2KB为限

Server.Transfer() 切放到同目录或者子目录网页,使用Server.Transfer()后地址不变,隐

藏了新网页地址及附带的参数值,具有保密功能

server.Execute() 执行同一个Web服务器上的另一个页面,页面执行完毕之后重新返回

原页面,可以把新页面执行结果追加到当前页面响应中,也可手动处理

新页面的输出

Html超链接 标签是<a></a> href属性指定新页面的地址

HyperLink控件 用控件属性NavigateUrl指定跳转到的URL地址,可在服务器端修改跳转地址

Javascript脚本 如果页面跳转在客户端发送使用window.location.href=”url”;


Asp.net窗体身份验证的原理以及配置过程

Asp.net窗体验证分为两步:

IIS验证当前用户访问网站使用的Windows账号是否有权限,如果IIS访问配置为anonymous,则任何用户都能访问

IIS验证完毕开始执行自身验证,验证面试可以在web.config文件中配置


Asp.net窗体身份验证方面的控制流程

当用户成功登陆网站时,FormsAuthentication将会创建一个身份验证票,

这样可以在网站全程跟踪这个用户,实现用户验证的功能


Asp.net有几种存储会话状态的方式

会话状态的存储方式有三种,分别是InProcStateServerSqlServer,最常用的是InProc模式,也是Asp.net默认的方式

InProc:具有最佳性能,速度最快,但不能跨多台服务器存储共享

StateServer:用于跨服务器保存用户会话信息情况,信息易丢失

SqlServer:可跨服务器维护用户会话信息,且信息不回丢失,但工作负载较大


net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 

QueryString 传递一个或多个安全性要求不高或是结构简单的数值。

但是对于传递数组或对 象的话,就不能用这个方法了 

session(viewstate) 

简单,但易丢失 作用于用户个人,过量的存储会导致服务器内存资源的耗尽。  

application 

对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用LockUnLock 

cookie简单,但可能不支持,可能被伪造 Cookie是存放在客户端的,

session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用 

input ttype="hidden" 简单,可能被伪造 

url参数简单,显示于地址栏,长度有限 
Server.Transfer 

把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流 

数据库稳定,安全,但性能相对弱
















  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值