.Net学习日记——ASP.net学习笔记:Application、Session、Server

.Net学习日记——ASP.net学习笔记:Application、Session、Server

----------------------Windows Phone 7手机开发Net培训、期待与您交流! ----------------------

ASP.net学习笔记:Application、Session、Server

 

学习到了ASP.NET的三个对象Application,Server,Session觉得比较有用,先作为笔记记录下,方便以后查用,顺便也可以加深印象。因为理解时因人而异,文章中对对象具体的解释清参考MSDN官方文档。

一、Application对象

    个人理解:应用程序及对象,当我们程序运行时Application就产生了。Application以键值对存储数据,可以将Application对象理解成对象的集合     

    所属的类:HttpApplicationState启用

    MSDN官方:ASP.NET应用程序中多个会话和请求之间的全局信息共享

    ASP.NET 应用程序是单个 Web 服务器上的某个虚拟目录及其子目录范围内的所有文件、页、处理程序、模块和代码的总和。

HttpApplicationState类的单个实例在客户端第一次从某个特定的 ASP.NET应用程序虚拟目录中请求任何 URL资源时创建。对于 Web服务器上的每个 ASP.NET应用程序都要创建一个单独的实例。然后通过内部 Application对象公开对每个实例的引用。

应用程序状态不在网络场(应用程序被多台服务器承载)或网络园(应用程序被同一台计算机上的多个进程承载)中共享。

    如何使用:如果要使用Application,先可以添加一个ASAX文件,它的作用是初始化应用程序级或会话级变量。VS2008中可以直接添加 ASAX文件,而在VS2003中在你新建ASP.NETweb应用程序时时已经为你创建好了。在VS20003的Global.asax中是以类的形式存在,而在VS2008中的Global.asax是以脚本文件形式存在(个人理解)。新建好之后,我们会看到Global文件中有以下事件:

1、void Application_Start(object sender, EventArgs e)

       {

        //在应用程序启动时运行的代码

       }

2、void Application_End(object sender, EventArgs e)

       {

        //在应用程序关闭时运行的代码

       }

3、void Application_Error(object sender, EventArgs e)

       {

        //在出现未处理的错误时运行的代码

       }

4、void Session_Start(object sender, EventArgs e)

       {

        //在新会话启动时运行的代码

       }

5、void Session_End(object sender, EventArgs e)

       {

        //在会话结束时运行的代码。

        // 注意: 只有在 Web.config文件中的 sessionstate模式设置为

        // InProc时,才会引发 Session_End事件。如果会话模式

        //设置为 StateServer或 SQLServer,则不会引发该事件。

       }

二、Session对象

    个人理解:存储用户信息。会话:客户端(浏览器)想服务器端发送请求,服务器端响应后返回给客户端,这样的一个过程可以理解为一个Session(会话)

    所属的类:HttpSessionState

    MSDN官方:提供对会话状态值以及会话级别设置和生存期管理方法的访问。详细请参考MSDN关于 ASP.NET会话状态

    常用属性:SessionID(唯一用户会话标识符) TimeOut(用户超时) LCID(本地标识符) Count(会话状态中的项目数)

    常用事件:void Session_Start(object sender, EventArgs e)和void Session_End(object sender, EventArgs e)

三、Server对象

    个人理解:获取你所请求服务器的相关信息

    所属类:HttpServerUtility

    MSDN官方:提供用于处理 Web请求的 Helper方法。

    常用属性:ScrtiptTimeOut MachineName

    常用方法:Execute Transfer HTMLEncode,URLEncode,MapPath

    Execute:在服务器端去执行另一个页面,执行完成后,将结果返回到当前页面

    Transfer:类似于Response.Redirect()

    HTMLEncode:以纯文本形式输出HTML标记

    URLEncode:处理在通过URL传递参数时包含的特殊字符

    &变量分隔符

 

知识点:

    1、application对象是应用程序级的,是所有用户共享的,而session是用户级的,其他用户不能访问其他用户的session

    2、apolication和session都是键值对的集合对象

    3、会话断开或销毁超时时间一般为20分钟,可以在session_start事件中设置timeout的值,最小为1(1分钟)。还需要注意不是你把浏览器关闭就说明会话断开或销毁,而是你session的TimeOut超时或关闭World Wide Web Publishing服务,还可以是你机器正常关机。

----------------------Windows Phone 7手机开发Net培训、期待与您交流! ----------------------

 

详细请查看:http://net.itheima.com/

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值