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

來源:互聯網
上載者:User
application|web|快速入門 檔案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事件。  



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。