• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Asp.Net中global.asax文件的描述

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

global.asax文件的作用:
1.定义Application级别,Session级别的变量,对象和数据;
2.定义在Application中的,基于Application,Session的事件;


定义Application,Session级别的变量:
使用Application对象来定义Application范围的变量,使用Session对象定义Session范围的变量。

//设置变量
Application("myApplicationScopeVar"= "MyValue"
Session(
"mySessionScopeVar"= "MyValue"
//获取变量
MyValue = Application("myApplicationScopeVar");
MyValue 
= Session("mySessionScopeVar");
静态对象,Com/Com+组件可以在global.asax中使用object声明,作用范围是Application或者Session的。
PipeLine指定了标示的对象或者组件的作用范围是当前的HttpApplication实例,并且不是共享的。

Application事件:
Application_Start— Application开始时触发;
Application_End— Application停止时触发;
Application_BeginRequest— 收到Request触发
Application_EndRequest— 结束Request触发
Application_AuthenticationRequest— 收到鉴权请求触发
Application_Error— 错误时触发

Session事件:
Session_Start— 客户端建立Session时触发;
Session_End— 客户端结束Session时触发;

脚本依然允许在global.asax中使用,可以定义变量,事件;
01 <Script language="VB" runat="server">
02
03
04 'Application start up code goes here
05 Sub Application_OnStart()
06 Application("MyApplicationScopeVar"= "MyValue"
07 Session("MyApplicationScopeVar"= "MyValue"
08 End Sub
09
10 'Application clean up code goes here
11 Sub Application_OnEnd()
12 End Sub
13
14 'Session start up code goes here
15 Sub Session_OnStart()
16 End Sub
17
18 'Session clean up code goes here
19 Sub Session_OnEnd()
20 End Sub
21
22
23 </script>

当改动global.asax文件时,Asp.Net 会检测到这个文件的改变,将处理完现有的所有Request后,触发
Application_OnEnd()事件,然后重新启动Application。
上面的处理过程,会重置整个站点,清除Session和其它存储的信息;当有新的Request到达时,Asp.Net 会重新编译global.asax文件,触发Application_OnEnd()事件。
所以,如果要更改global.asax文件,应该在站点不繁忙时做。


关于global.asax文件要注意的几点:
global.asax文件存在于站点的根目录;
每个站点只允许有1个global.asax文件;
当对站点资源的第一次请求时,asp.net 会将global.asax文件编译为一个类(继承自HttpApplication类);
global.asax文件是自配置的,处于安全目的,不允许外部通过Url访问;

参考:
Inside Asp.Net
Scott Worley
Publisher: New Riders Publishing
First Edition November 15, 2001
ISBN: 0-7357-1135-6, 730 pages

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET多线程编程发布时间:2022-07-10
下一篇:
[转]Asp.netReportViewer简单实例发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap