當(dāng)前位置:
首頁 >
使用 Global.asax 文件
發(fā)布時(shí)間:2023/11/27
39
豆豆
生活随笔
收集整理的這篇文章主要介紹了
使用 Global.asax 文件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
| 作者:未知??? | ???請(qǐng)速與本人聯(lián)系 |
Global.asax 文件
除了編寫 UI 代碼外,開發(fā)人員還可以將應(yīng)用程序級(jí)別的邏輯和事件處理代碼添加到他們的 Web 應(yīng)用程序中。此代碼不處理 UI 的生成,并且一般不為響應(yīng)個(gè)別頁請(qǐng)求而被調(diào)用。相反,它負(fù)責(zé)處理更高級(jí)別的應(yīng)用程序事件,如 Application_Start、Application_End、Session_Start、Session_End 等等。開發(fā)人員使用位于特定 Web 應(yīng)用程序虛擬目錄樹根處的 Global.asax 文件來創(chuàng)作此邏輯。第一次激活或請(qǐng)求應(yīng)用程序命名空間內(nèi)的任何資源或 URL 時(shí),ASP.NET 自動(dòng)分析該文件并將其編譯成動(dòng)態(tài) .NET 框架類(此類擴(kuò)展了 HttpApplication 基類)。
第一次激活或請(qǐng)求應(yīng)用程序命名空間內(nèi)的任何資源或 URL 時(shí),ASP.NET 分析 Global.asax 文件并將其動(dòng)態(tài)編譯成 .NET 框架類。Global.asax 文件被配置為自動(dòng)拒絕任何直接 URL 請(qǐng)求,從而使外部用戶不能下載或查看內(nèi)部代碼。
應(yīng)用程序或會(huì)話范圍內(nèi)的事件
通過在 Global.asax 文件中創(chuàng)作符合命名模式“Application_EventName(AppropriateEventArgumentSignature)”的方法,開發(fā)人員可以為 HttpApplication 基類的事件定義處理程序。例如:
C#:
<script language="C#" runat="server">
void Application_Start(object sender, EventArgs e) {
// Application startup code goes here
}
</script>
VB:
<script language="VB" runat="server">
Sub Application_Start(Sender As Object, E As EventArgs)
' Application startup code goes here
End Sub
</script>
如果事件處理代碼需要導(dǎo)入附加的命名空間,可以在 .aspx 頁中使用 @ import 指令,如下所示:
<%@ Import Namespace="System.Text" %>
第一次打開頁時(shí),引發(fā)應(yīng)用程序和會(huì)話的 Start 事件:
C#:
void Application_Start(object sender, EventArgs e) {
// Application startup code goes here
}
void Session_Start(object sender, EventArgs e) {
Response.Write("Session is Starting...<br>");
Session.Timeout = 1;
}
VB
Sub Application_Start(Sender As Object, E As EventArgs)
' Application startup code goes here
End Sub
Sub Session_Start(Sender As Object, E As EventArgs)
Response.Write("Session is Starting...<br>")
Session.Timeout = 1
End Sub
對(duì)每個(gè)請(qǐng)求都引發(fā) BeginRequest 和 EndRequest 事件。刷新頁時(shí),只顯示來自 BeginRequest、EndRequest 和 Page_Load 方法的消息。注意:通過放棄當(dāng)前會(huì)話(單擊“結(jié)束此會(huì)話”按鈕),將創(chuàng)建新的會(huì)話并且再次引發(fā) Session_Start 事件。
應(yīng)用程序或會(huì)話范圍內(nèi)的對(duì)象
靜態(tài)對(duì)象、.NET 框架類和 COM 組件都可以使用對(duì)象標(biāo)記在 Global.asax 文件中定義。范圍可以是 appinstance、session 或 application。appinstance 范圍表示對(duì)象特定于 HttpApplication 的一個(gè)實(shí)例并且不共享。
<object id="id" runat="server" class=".NET Framework class Name" scope="appinstance"/>
<object id="id" runat="server" progid="COM ProgID" scope="session"/>
<object id="id" runat="server" classid="COM ClassID" scope="application"/>
總結(jié)
以上是生活随笔為你收集整理的使用 Global.asax 文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用WebClient和WebReque
- 下一篇: 让Asp.NET的DataGrid可排序