本文實(shí)例講述了asp.net中g(shù)lobal和urlrewrite用法。分享給大家供大家參考。具體如下:
global.asax:
有時(shí)候叫做 asp.net 應(yīng)用程序文件,提供了一種在一個(gè)中心位置響應(yīng)應(yīng)用程序級(jí)或模塊級(jí)事件的方法。你可以使用這個(gè)文件實(shí)現(xiàn)應(yīng)用程序安全性以及其它一些任務(wù)。
重點(diǎn)了解:application_start; application_beginrequest; application_error;
① application_start:自從服務(wù)器啟動(dòng)起來(lái),網(wǎng)站第一次被訪問(wèn)的時(shí)候application_start執(zhí)行
② application_error :程序中發(fā)生未處理異常
③ session_end:只有進(jìn)程內(nèi)的session才會(huì)調(diào)用,session_end進(jìn)程外的session不會(huì)
④ application_beginrequest:當(dāng)一個(gè)請(qǐng)求過(guò)來(lái)的時(shí)候,便會(huì)調(diào)用application_beginrequest,訪問(wèn)靜態(tài)頁(yè)面時(shí)application_beginrequest不會(huì)處理,iis直接將靜態(tài)頁(yè)面文件給了瀏覽器。即使訪問(wèn)一個(gè)不存在的頁(yè)面,application_beginrequest方法也會(huì)被調(diào)用。
urlrewrite:
丑鏈接:http://localhost/viewperson.aspx?id=1
很丑!處女座不能忍。
帥鏈接:http://localhost/viewperson-1.aspx
怎么整成帥鏈接那樣的?
利用application_beginrequest無(wú)論訪問(wèn)什么頁(yè)面,除了靜態(tài)頁(yè)面,都轉(zhuǎn)向其他程序處理的原理。
使用正則表達(dá)式對(duì)【丑鏈接】進(jìn)行匹配,當(dāng)用戶訪問(wèn)http://localhost/viewperson-1.aspx的時(shí)候,會(huì)觸發(fā)global.asax調(diào)用application_beginrequest方法,正則表達(dá)式匹配成功后,執(zhí)行context.rewritepath("/viewperson.aspx?id=" + id); 搞定,整成【帥鏈接】,就這么簡(jiǎn)單。
使用正則表達(dá)式:
更多信息請(qǐng)查看IT技術(shù)專欄