新聞中心
ASP.NET 2.0提供的Web Resources管理模型

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)云安,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
ASP.NET(1.0/1.1) 給我們提供了一個開發(fā)WebControl的編程模型,于是我們擺脫了asp里面的include模式的復(fù)用方式。不過1.0/1.1提供的Web控件開發(fā)模型對于處理沒有image、css等外部資源的組件還算比較得心應(yīng)手,script雖然很多時候也是外部資源,但在開發(fā)控件的時候我們習(xí)慣把 script使用Page.Register...Script()來嵌入模塊,因為緊湊的東西更便于我們復(fù)用,用一個dll就可以解決問題又何必要節(jié)外生枝呢。
ASP.NET 2.0提供的Web Resources管理模型,很好的解決了image、css、script等外部資源的管理問題。現(xiàn)在只需要在solution explorer把資源文件的build action屬性設(shè)為Embedded Resource。然后在assemblyinfo.cs里添加一句:
- [assembly: WebResource("WebCtrl.cutecat.jpg", "image/jpg")]
我們可以看msdn里有Web Resource的參數(shù)說明:***個是資源的名字,第二個是資源的mime-type名。
然后在程序中調(diào)用如下:
- m_Image.ImageUrl = this.Page.GetWebResourceUrl(typeof(WebCustom), "WebCtrl.cutecat.jpg");
GetWebResourceUrl的***個參數(shù)是用戶定義的類型(這個是用來確定assembly用的),第二個參數(shù)是資源名。
上面的語句返回給browser的代碼是:
src="WebResource.axd?a=pWebCtrl&r=WebCtrl.cutecat.
jpg&t=632390947985312500" style="border-width:0px;" />
其中的src就是GetWebesourceUrl執(zhí)行后返回的,它有3個參數(shù)(這里的&被解析成了&,不過IIS也認(rèn)的),***個參數(shù)a是就是通過typeof(WebCustom)來確定的assembly的名字,第二個參數(shù)r很明顯就是資源的名字了,第三個參數(shù)t是一個a所指的assembly的timestamp。這個t是為了讓資源的引用能享用browser緩存的優(yōu)化,因為IE對相同的url有自己的cache機(jī)制。又因為這個r同時又是用戶assembly文件的timestamp,如果用戶更新了代碼,重新編譯后t也會變化,這樣也就保證了browser能獲得***的資源更新。如果我們能確定嵌入資源是確實不用再更新的,我們可以在typeof()里寫一個bcl里的類型,比如typeof(string),那么他將只在freamwork升級后才會變動這個t。
當(dāng)然這個Web Resource.axd是不存在的,它只是IIS中的一個ISAPI影射。以上介紹ASP.NET 2.0提供的Web Resources管理模型,
當(dāng)前題目:ASP.NET2.0提供的WebResources管理模型
URL地址:http://www.dlmjj.cn/article/djisogg.html


咨詢
建站咨詢
