使用 Global.asax 文件
生活随笔
收集整理的這篇文章主要介紹了
使用 Global.asax 文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
| 作者:未知??? | ???請速與本人聯(lián)系 |
Global.asax 文件
除了編寫 UI 代碼外,開發(fā)人員還可以將應(yīng)用程序級別的邏輯和事件處理代碼添加到他們的 Web 應(yīng)用程序中。此代碼不處理 UI 的生成,并且一般不為響應(yīng)個別頁請求而被調(diào)用。相反,它負責(zé)處理更高級別的應(yīng)用程序事件,如 Application_Start、Application_End、Session_Start、Session_End 等等。開發(fā)人員使用位于特定 Web 應(yīng)用程序虛擬目錄樹根處的 Global.asax 文件來創(chuàng)作此邏輯。第一次激活或請求應(yīng)用程序命名空間內(nèi)的任何資源或 URL 時,ASP.NET 自動分析該文件并將其編譯成動態(tài) .NET 框架類(此類擴展了 HttpApplication 基類)。
第一次激活或請求應(yīng)用程序命名空間內(nèi)的任何資源或 URL 時,ASP.NET 分析 Global.asax 文件并將其動態(tài)編譯成 .NET 框架類。Global.asax 文件被配置為自動拒絕任何直接 URL 請求,從而使外部用戶不能下載或查看內(nèi)部代碼。
應(yīng)用程序或會話范圍內(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" %>
第一次打開頁時,引發(fā)應(yīng)用程序和會話的 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
對每個請求都引發(fā) BeginRequest 和 EndRequest 事件。刷新頁時,只顯示來自 BeginRequest、EndRequest 和 Page_Load 方法的消息。注意:通過放棄當前會話(單擊“結(jié)束此會話”按鈕),將創(chuàng)建新的會話并且再次引發(fā) Session_Start 事件。
應(yīng)用程序或會話范圍內(nèi)的對象
靜態(tài)對象、.NET 框架類和 COM 組件都可以使用對象標記在 Global.asax 文件中定義。范圍可以是 appinstance、session 或 application。appinstance 范圍表示對象特定于 HttpApplication 的一個實例并且不共享。
<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可排序