程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .NET之ASP Web Application快速入門(3)

.NET之ASP Web Application快速入門(3)

編輯:關於.NET
.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事件

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved