黑马程序员技术交流社区
标题:
Global.asax文件中的常用事件,该怎么调用?
[打印本页]
作者:
杨占伟
时间:
2012-12-1 23:28
标题:
Global.asax文件中的常用事件,该怎么调用?
本帖最后由 杨占伟 于 2012-12-3 10:13 编辑
Global.asax文件中的常用事件该怎么用? 这个文件中的方法通过什么来调用?
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 InProc 时,才会引发 Session_End 事件。
// 如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
}
</script>
作者:
罗代势
时间:
2012-12-2 11:50
global.asax 位于应用程序根目录下。虽然 visual studio .net 会自动插入这个文件到所有的 asp.net 项目中,但是它实际上是一个可选文件。删除它不会出问题——当然是在你没有使用它的情况下。.asax 文件扩展名指出它是一个应用程序文件,而不是一个使用 aspx 的 asp.net 文件。
global.asax 文件被配置为任何(通过 url 的)直接 http 请求都被自动拒绝,所以用户不能下载或查看其内容。asp.net 页面框架能够自动识别出对global.asax 文件所做的任何更改。在 global.asax 被更改后asp.net 页面框架会重新启动应用程序,包括关闭所有的浏览器会话,去除所有状态信息,并重新启动应用程序域。
不是每个请求都触发的事件。
1.Application_Start():当第 1 位用户进入 ASP.NET 程序时,Application_Start 事件就触发,在触发后,就算有成千上万位用户进入网站都不会重新触发,除非 Web 服务器关机。通常用来初始化 Application 变量,例如初始的访客计数
2.Session_Start():当用户建立 Session 时间时,就触发 Session_Star 事件,如果有 50 位用户,就触发 50 次事件,每个事件是独立触发的,不会互相影响,通常用来初始化用户专用的 Session 变量
3.Application_Error():当产生未能处理错误时,触发 Application_Error 事件
4.Session_End():当用户在默认时间内没有进入其他ASP.NET 程序时,就会触发此事件,时间是由 TimeOut 属性设定,通常是善后用途的程序代码,例如将 Session 变量存入数据库或文本文件
5.Application_End():当 Web 服务器关机时,Application_End 事件就会触发
作者:
杨占伟
时间:
2012-12-3 10:12
非常感谢~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2