Global的解釋是全局的、全球的。
Global.asax 文件,有時候叫做 asp.net 應用程序文件,提供了一種在一個中心位置響應應用程序級或模塊級事件的方法。你可以使用這個文件實現應用程序安全性以及其它一些任務。
Global.asax使用頻率不是特別高,屬于細枝末節的小知識點。不說了,來我們一起研究一下這個東西吧。
1.添加
同web.config一樣,通常情況下Global.asax文件名是固定的。如果您沒有非得要改名的理由,不建議您修改。
你改了,系統不懂了。(這句話用《從前慢》的曲子唱?。?/span>
2.看看里面寫了什么
1.把各種應用啟動信息寫入日志文件中(就是一個txt)
1 public class Global : System.Web.Httpapplication 2 { 3 //自從服務器啟動起來,網站第一次被訪問的時候Application_Start執行 4 PRotected void Application_Start(object sender, EventArgs e) 5 { 6 File.AppendAllText("d://1.txt", DateTime.Now+"Application_Start/r/n"); 7 } 8 9 //session啟動時10 protected void Session_Start(object sender, EventArgs e)11 {12 File.AppendAllText("d://1.txt", DateTime.Now + "Session_Start/r/n");13 }14 15 //當一個請求過來的時候16 //html等靜態文件是iis直接把文件給到瀏覽器,不經過asp.net引擎的處理。17 //所以不會調用Application_BeginRequest方法18 protected void Application_BeginRequest(object sender, EventArgs e)19 {20 //即使用戶訪問一個不存在的頁面,那么Application_BeginRequest也會被調用21 22 File.AppendAllText("d://1.txt", DateTime.Now + "Application_BeginRequest:"+23 Context.Request.RawUrl + "/r/n");24 }25 26 protected void Application_AuthenticateRequest(object sender, EventArgs e)27 {28 29 }30 31 //程序中發生未處理異常32 protected void Application_Error(object sender, EventArgs e)33 {34 File.AppendAllText("d://1.txt", DateTime.Now + "Application_Error:"+35 Context.Error + "/r/n");36 }37 38 //(*)Session過期(只有進程內Session,也就是InProc過期的時候才會調用Session_End)39 protected void Session_End(object sender, EventArgs e)40 {41 File.AppendAllText("d://1.txt", DateTime.Now + "Session_End/r/n");42 }43 44 protected void Application_End(object sender, EventArgs e)45 {46 File.AppendAllText("d://1.txt", DateTime.Now + "Application_End/r/n");47 }48 }
1.UrlRewrite啥意思?
啥叫URL重寫,簡單說舉個例子,
例如http:// www.a.com/viewPerson.aspx
這個頁面可以接受一個請求參數 id。
請求時,就可能出現這樣的網址。
http:// www.a.com/viewPerson.aspx?id=11
http:// www.a.com/viewPerson.aspx?id=12
..............
URL重寫后
http:// www.a.com/viewPerson-11.aspx
http:// www.a.com/viewPerson-12.aspx
這樣的網址,就和上面帶請求參數的網址 一致了。
注意不是 http:// www.a.com/viewPerson-11.aspx取代了http:// www.a.com/viewPerson.aspx?id=11,
而是http:// www.a.com/viewPerson.aspx-11.aspx會指向http:// www.a.com/viewPerson.aspx?id=11。
2.URL重寫的好處
URL重寫可以讓自己的網址變得更“漂亮”,消除掉又長的、又亂的請求參數的影響。
當然這些只是強迫癥的心里。
URL重寫最關鍵的意義在于SEO方面。
3.思路
每次瀏覽器訪問網站的時候,都會觸發Application_BeginRequest這個方法。
即使用戶訪問一個不存在的頁面,那么Application_BeginRequest也會被調用 。
所以我們如果想做URL重寫的話,在這個方法里操作就好了。
4.做法
protected void Application_BeginRequest(object sender, EventArgs e)
{
//Url重寫:UrlRewrite。ViewPerson-1.aspx
Match match = Regex.Match(Context.Request.Path, @"^/ViewPerson/-(/d+)/.aspx$");
if (match.Success)
{
string id = match.Groups[1].Value;
Context.RewritePath("/ViewPerson.aspx?id="+id);
}
}
還有一些教材,用Application_Start 做人數統計。
別搭理他。
新聞熱點
疑難解答