|
需求:某網(wǎng)站因業(yè)務(wù)擴(kuò)展,需拆分出另一個(gè)站點(diǎn),新舊站點(diǎn)具有相同的內(nèi)容,但具體欄目表現(xiàn)形式上不一樣。原網(wǎng)站運(yùn)行多年,有大量的圖片,這些圖片也會(huì)在新站上使用。任務(wù)是:
保證兩個(gè)網(wǎng)站圖片內(nèi)容同步,即原來(lái)的站點(diǎn)增加一個(gè)圖片,新站點(diǎn)即可使用這個(gè)圖片。
分析:假設(shè)兩個(gè)站點(diǎn)的域名分別為:http://www.a_image.com/和http://www.b_image.com/
1、 將圖片分別拷到兩臺(tái)服務(wù)器,以后上傳圖片同時(shí)上傳兩臺(tái)服務(wù)器。這種方法雖簡(jiǎn)單,但是占用巨大的磁盤空間,而且維護(hù)麻煩。
2、 在http://www.b_image.com/的頁(yè)面上直接寫http://www.a_image.com/的引用。這種方式類似圖片盜鏈,但工作量也很大,每加一個(gè)圖片都要改鏈接。日后維護(hù)工作也很大。
3、 一臺(tái)服務(wù)器保留圖片,另外一臺(tái)服務(wù)器通過(guò)IIS的網(wǎng)絡(luò)共享方式訪問(wèn)圖片。但開放文件共享對(duì)服務(wù)器的安全將構(gòu)成威脅。
剖析頁(yè)面運(yùn)行原理:
當(dāng)瀏覽器向IIS請(qǐng)求頁(yè)面時(shí),IIS會(huì)把請(qǐng)求轉(zhuǎn)交給ASP.NET HTTP管道,HTTP管道是一組被控對(duì)象(HTPPModel),這些對(duì)象按順序處理請(qǐng)求并把這些請(qǐng)求轉(zhuǎn)換成一般的HTML文本。HTTP管道的入口是HttpRuntime類的實(shí)體。HttpRuntime類實(shí)體從內(nèi)存程序池中選擇一個(gè)HttpApplication對(duì)象,HttpApplication的主要工作是尋找這樣的類實(shí)體(HttpHandler)使之能夠處理請(qǐng)求。應(yīng)用程序能在Web.Config里對(duì)這個(gè)Http處理句柄映射列表進(jìn)行重定義。下列Web.config中的句柄,定義了.jpg資源請(qǐng)求的處理句柄:
<httphandlers> <add verb= * path= *.jpg type=HandlerTest/> </httphandlers>
NET技術(shù):詳解ASP.NET頁(yè)面的aspx擴(kuò)展,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。