当前位置: 首页 > 图文教程 > 网络编程 > ASP > .NET之ASP WebApplication快速入门(3)

ASP
Access 2000 数据库 80 万记录通用快速分页类
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
收藏的ASP常用的函数集
asp分页的一个类
ASP开发网页牢记注意事项
ASP下操作Excel技术总结分析
ASP数据岛操作类
ASP经典分页类
asp论坛在线人数统计研究
ASP调用SQL SERVER存储程序
asp输出bmp
ASP连接数据库的全能代码
ASP面向对象编程探讨及比较
web文件管理器的后续开发
一小偷类!!有兴趣的可以看看
利用ASP实现事务处理的方法
大数量查询分页显示 微软的解决办法
如何把ASP编写成DLL
asp实现树型结构
超级ASP大分页_我的类容我做主

.NET之ASP WebApplication快速入门(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 203 ::
收藏到网摘: n/a

  .NET之ASP Web Application快速入门(3)
文件Global.asax


除了编写UI(Use Interface:用户界面)以外,我们还可以在Web Application中添加"application"级别的控制逻辑代码以及事件触发程序。这些代码不会去操作产生UI,并且基本上不会响应于单独的页面请求,它们负责的是处理高级别的application事件,包括Application_Start、Application_End、Session_Start和Session_End。这些控制逻辑代码位于Web
application所在虚拟目录结构根目录下的Global.asax文件中,ASP.NET自动地解析这个文件并编译为动态.NET框架类。这个类扩充了HttpApplication基类,当位于application名字空间内的任意资源或URL被首次访问时,它就被创建。


Global.asax文件本身经过了设置,任何关于它的直接URL请求都会被自动拒绝,从而保证了外部用户无法下载它并浏览其内容。

Application 或 Session作用范围内的事件


我们可以在Global.asa文件中编写方法以定义有关HttpApplication基类的事件触发程序,方法的命名要匹配于字符串"Application_事件名称"。比如,请看下面使用VB、C#以及JScript三种语言编写的代码:

C#


<script language="C#" runat="server">

void Application_Start() {
  // Application startup code goes here  
}
</script>

VB

<script language="VB" runat="server">

Sub Application_Start()
  ’ Application startup code goes here  
End Sub
</script>

JScript

<script language="JScript" runat="server">

function Application_Start() : void {
  // Application startup code goes here  
}
</script>

如果事件触发代码需用输入另外的名字空间,我们可以在.aspx页面中编写类似如下代码的输入标识:

<%@ Import Namespace="System.Text" %>


下面的例子图解了Application、Session 和Request 的生存期:

Application1.aspx


[]点击这里运行例程]
| []查看源代码]


页面首次打开时,将激活application和session的Onstart事件。关于这些事件触发程序,请看下面使用VB、C#以及JScript三种语言编写的代码:

C#


void Application_Start() {
  Response.Write("Application is Starting...");
}

void Session_Start() {
  Response.Write("Session is Starting...");
  Session.Timeout = 1;
}

VB

Sub Application_Start()
  Response.Write("Application is Starting...")
End Sub

Sub Session_Start()
  Response.Write("Session is Starting...")
  Session.Timeout = 1
End Sub

JScript

function Application_Start() : void {
  Response.Write("Application is Starting...");
}

function Session_Start() : void {
  Response.Write("Session is Starting...");
  Session.Timeout = 1;
}

每次请求发生时,都会激活BeginRequest 和EndRequest 事件。比如,当页面被刷新时,来自BeginRequest、EndRequest
和Page_Load 方法的信息将显现出来。注意,当放弃当前的session时(点击"End this session"按钮),将产生一个新session,接着再次触发Session_OnStart事件。