2010-05-12 50 views
6

何時使用而不是在asp.net應用程序中使用global.asax文件?我聽說你應該只使用該文件。ASP.NET global.asax使用方法

+0

你從哪裏聽到這個消息?這是什麼推理? – Codesleuth 2010-05-12 08:15:28

+0

我不記得,但我聽說有人告訴過這個。 – Azat 2010-05-12 09:59:11

回答

6

Global.asax文件用於實現應用程序和會話級別的事件,如:

Application_Init - 燃煤當應用程序首先初始化

的Application_Start - 燃煤當應用程序第一次啓動

Application_End - 當應用程序結束或超時時觸發最終事件

Session_Start - 在第一次啓動用戶會話時觸發

的Application_BeginRequest - 燒製用每個新的請求

Application_EndRequest - 發射時的應用程序結束

Application_AuthenticateRequest - 所述事件表示請求準備進行認證。

的Application_Error - 每當單用戶會話結束或者超時燒製 - 當應用程序

Session_End中內發生未處理的錯誤燒製。

實現這些處理程序都可以是global.asax的合法用法。例如,Application_Error事件處理程序通常記錄任何全局錯誤,並且Application_End事件處理程序通常包含應用程序清理邏輯。這些是Global.asax的良好用途。必要時使用它們,如果文件增長,請不要害怕。

但是,我看到了開發人員已經將各種全局方法添加到global.asax中的情況,這些方法確實是不合理的。例如,保持業務邏輯與對象本身內的特定域對象相關,而不是在global.asax中。如果您發現Global.asax中的方法不應將那些工作重構到正確的位置。

1

global.asax是一個HTTPModule。所有請求在到達頁面處理程序之前都會經過global.asax和其他模塊。使用它可以根據您的請求或響應執行某些任務,例如url路由,全局錯誤handlign等。

0

如果您需要在應用程序的開始/結束或會話開始/結束時發生特殊事件,或者全局處理可以使用的異常它在Apllication和Session生命週期中映射事件。