日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

ASP.NET緩存技術(shù)

出處:李用江 發(fā)布于:2011-08-31 15:34:49

  摘   要: 介紹了ASP.NET中各種緩存技術(shù)的應(yīng)用程序模型,并重點分析了每種應(yīng)用模型的優(yōu)缺點及其適用范圍。

  隨著經(jīng)濟化的發(fā)展,許多公司面對客戶和市場需求的變化,需要構(gòu)建足夠強大、靈活、可伸縮的信息系統(tǒng)來支撐迅速增加的大量無規(guī)律性的訪問和Web流量。

  ASP 是一項微軟公司的技術(shù),是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù)。 指 Active Server Pages(動態(tài)服務(wù)器頁面) ,運行于 IIS 之中的程序 。ASP.NET的前身ASP技術(shù),是在IIS 2.0上首次推出(Windows NT 3.51),當(dāng)時與 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)發(fā)揚光大,成為服務(wù)器端應(yīng)用程序的熱門開發(fā)工具,微軟還特別為它量身打造了Visual InterDev開發(fā)工具,在1994年到2000年之間,ASP技術(shù)已經(jīng)成為微軟推展Windows NT 4.0平臺的關(guān)鍵技術(shù)之一,數(shù)以萬計的ASP網(wǎng)站也是這個時候開始如雨后春筍般的出現(xiàn)在網(wǎng)絡(luò)上。它的簡單以及高度可定制化的能力,也是它能迅速崛起的原因之一。

  性能是Web應(yīng)用程序成功與否的關(guān)鍵因素,響應(yīng)時間則是性能的一個重要指標(biāo),尤其是從用戶的角度來看,隨著同時訪問的用戶數(shù)的增加,Web應(yīng)用程序的響應(yīng)時間也會相應(yīng)增加,當(dāng)其增加到用戶無法接受的程度時,用戶便會失去耐心而離開該網(wǎng)站。根據(jù)Zona Research的研究指出,如果使用者等待網(wǎng)頁的時間超過8 s,將有30%的用戶選擇停止瀏覽網(wǎng)頁,同樣的研究表明,如果網(wǎng)頁的時間縮短1 s,則這個數(shù)字將從30%降低到8%。由此可見終端用戶所感到的時間延遲(user-perceivedlatency)已經(jīng)成為今天Internet的主要性能問題。

  要開發(fā)高性能、可縮放的 Web 應(yīng)用程序,的方法是在首次請求項時將這些項存儲在Web服務(wù)器上或請求流中的其他軟件上,從而避免重新創(chuàng)建滿足先前請求的信息,可節(jié)省時間和資源。這就要使用數(shù)據(jù)緩存功能。ASP.NET提供了許多緩存功能。為了知道應(yīng)用程序應(yīng)該用哪一種緩存功能,需要了解將要開發(fā)的應(yīng)用程序的結(jié)構(gòu)和每種緩存功能的工作特點及其優(yōu)缺點。作者在軟件開發(fā)過程中,積累了有關(guān)這方面的一些經(jīng)驗,現(xiàn)整理出來供大家參考。

  1  緩存數(shù)據(jù)的分類

  ASP.NET的緩存服務(wù)是一種提高服務(wù)器性能、降低服務(wù)器資源浪費的有效方法。對于安全性要求高的應(yīng)用程序,采用在WEB服務(wù)器上維護緩存數(shù)據(jù)的方式可以有效地提高頁面性能。ASP.NET的緩存對各個應(yīng)用來說是私有的,是存儲各種對象的存儲器,緩存的生存周期取決于應(yīng)用的生存周期,當(dāng)應(yīng)用重新啟動時,緩存實際上已重建。利用ASP.NET的緩存功能,結(jié)合性能良好的存儲過程,性地緩存數(shù)據(jù)庫數(shù)頁數(shù)據(jù),以供用戶分頁查詢,是優(yōu)化Web數(shù)據(jù)查詢性能的比較理想的方式。

  在Web應(yīng)用程序中,由于變量的生命周期受限于網(wǎng)頁,所以,每當(dāng)。aspx文件被解釋執(zhí)行后,變量的內(nèi)容將不復(fù)存在。為將變量的內(nèi)容保存下來,簡單的方法是使用緩存來存儲變量的值。ASP.NET提供了輸出緩存和應(yīng)用程序數(shù)據(jù)緩存二種方案,用來創(chuàng)建高性能Web應(yīng)用程序的緩存類型[2]。

  緩存數(shù)據(jù)按其所在網(wǎng)絡(luò)節(jié)點位置的不同可以分為三類[1][6]:(1)在客戶端緩存數(shù)據(jù)。(2)在Web服務(wù)器上維護緩存數(shù)據(jù)。(3)在數(shù)據(jù)庫中維護緩存數(shù)據(jù)。它是用數(shù)據(jù)庫儲存Web應(yīng)用程序的全局或會話數(shù)據(jù)的一種方式。

  2  各種緩存技術(shù)的應(yīng)用模型

  2.1 無狀態(tài)方式——不維護緩存狀態(tài)

  在軟件開發(fā)中,并非必須使用緩存來保存數(shù)據(jù),完全可以通過Web應(yīng)用程序的ASP.NET代碼執(zhí)行查詢并用綁定控件將結(jié)果轉(zhuǎn)換為HTML,從而避免緩存數(shù)據(jù),使ASP.NET代碼完全是無狀態(tài)的。

 ?。?)優(yōu)點:由于不需要在ASP.NET代碼中緩存數(shù)據(jù),所以應(yīng)用程序的每位用戶需要的內(nèi)存是的。如果單純從內(nèi)存使用的角度看,這種方式有伸縮性。

 ?。?)缺點:應(yīng)用程序的性能差。假設(shè)應(yīng)用程序是一個在線目錄,則需要在所有頁上顯示產(chǎn)品目錄列表。如果每次用戶訪問頁時都對數(shù)據(jù)庫進行查詢以得到產(chǎn)品目錄的列表,則將浪費寶貴的數(shù)據(jù)庫連接資源,降低系統(tǒng)的性能。

  2.2 在客戶端緩存數(shù)據(jù)

  這類方法通常是利用瀏覽器(如Explorer)本身固有的緩存機制來實現(xiàn)的。瀏覽器把一定時間內(nèi)用戶訪問過的文檔或數(shù)據(jù)都存儲起來,當(dāng)用戶重新訪問同樣的信息時就可以從瀏覽器的緩存中取出,而不需要重新建立HTTP連接。但是,由于必須將信息發(fā)送到客戶端進行存儲,因此這種方式可以存儲的信息量存在一定的客觀限制。

  2.2.1 Cookie

  Cookie是由服務(wù)器端生成,發(fā)送給User-Agent(一般是瀏覽器),瀏覽器會將Cookie的key/value保存到某個目錄下的文本文件內(nèi),下次請求同一網(wǎng)站時就發(fā)送該Cookie給服務(wù)器(前提是瀏覽器設(shè)置為啟用cookie)。Cookie名稱和值可以由服務(wù)器端開發(fā)自己定義,對于JSP而言也可以直接寫入jsessionid,這樣服務(wù)器可以知道該用戶是否合法用戶以及是否需要重新登錄等。

  Cookie 用于在客戶端上存儲少量經(jīng)常更改的信息。許多Web站點用Cookie在客戶端儲存用戶信息,這些信息與請求一起發(fā)送到服務(wù)器。ASP.NET的Request和Response對象都公開一個Cookies集合,可以用它在服務(wù)器和客戶端往返行程之間儲存和獲取信息。

 ?。?)優(yōu)點:①簡單。Cookie是具有簡單鍵值對的、輕量的、基于文本的結(jié)構(gòu)。②可伸縮性好。不需要任何服務(wù)器資源,在客戶端儲存數(shù)據(jù)使ASP.NET代碼成為無狀態(tài)的,這可改進可伸縮性。③可配置到期時間??梢酝ㄟ^設(shè)置HttpCookie對象的Expires屬性,控制Cookie的失效時間。

  (2)缺點:①儲存量大小受到限制。對于緩存返回許多行的查詢結(jié)果并不適用。②與瀏覽器安全設(shè)置有關(guān)。在瀏覽器的安全設(shè)置中,可以選擇允許或拒絕創(chuàng)建Cookie,如果瀏覽器選擇禁止接受任何Cookie,則拒絕用Cookie儲存用戶的數(shù)據(jù)。③安全性差。由于用戶可以修改在客戶端儲存的Cookie內(nèi)容,所以不可用來存儲像密碼之類的敏感信息。④持久性。客戶端計算機上Cookie的持久性受到客戶端Cookie到期進程以及用戶干預(yù)的制約。

  2.2.2 隱藏域

  可以在頁上的隱藏域中存儲特定于頁的信息,方法類似于Windows窗體中的隱藏控件。ASP.NET提供HtmlInputHidden控件,該控件提供隱藏域功能。但使用同它功能類似的ViewState。

 ?。?)優(yōu)點:①簡單。②可伸縮性好。無需服務(wù)器資源,隱藏域在頁上存儲并讀取。③與瀏覽器安全設(shè)置無關(guān)。幾乎所有瀏覽器和客戶端設(shè)備都支持具有隱藏域的窗體。

 ?。?)缺點:①有限的存儲結(jié)構(gòu)。隱藏域不支持豐富的結(jié)構(gòu),隱藏域提供在其中放置信息的單值域。②安全性差。如果直接查看頁輸出源,可以看到隱藏域中的信息,這導(dǎo)致潛在的安全性問題。③性能降低。由于隱藏域存儲在頁本身,因此,如果存儲較大的值,則在用戶顯示頁和發(fā)送頁時,頁的速度就可能會減慢。

  2.2.3 視圖狀態(tài)(ViewState)

  在System.Web.UI名稱空間的Page類公開了一個ViewState屬性,它包含一個類似于名稱/值對集合的StateBag對象。ASP.NET頁框架將ViewState存儲到一個字符串變量,將它發(fā)送到客戶端并作為隱藏變量返回。在回發(fā)時,頁框架分析來自隱藏變量的輸入字符串并填充每一控件的ViewState屬性。

 ?。?)優(yōu)點:①可伸縮性好。②與瀏覽器安全設(shè)置無關(guān)。ViewState是在頁代碼內(nèi)結(jié)構(gòu)中的一個隱藏域中維護,所以,不管瀏覽器的安全設(shè)置如何,都可以用頁面的ViewState來儲存和獲取數(shù)據(jù)。③儲存量大。頁面可以在ViewState中保存大項目。④頁和控件狀態(tài)自動保持。

 ?。?)缺點:①安全性較低。雖然儲存在ViewState中的數(shù)據(jù)是散列的、壓縮的并且是為Unicode實現(xiàn)而編碼的,但用戶仍然可以解密儲存在頁面上的值。②性能降低。如果存儲較大的值,在用戶顯示頁和發(fā)送頁時,頁的速度就可能會減慢。③儲存數(shù)據(jù)的數(shù)據(jù)類型受限制。在ViewState中,只能儲存ASP.NET代碼清楚如何序列化的數(shù)據(jù),如字符串和整數(shù)這樣的簡單數(shù)據(jù)類型,但不能儲存一般對象。盡管如此,它仍然支持ISerializable接口的對象,如Dataset對象。

  2.3 在Web服務(wù)器上維護緩存數(shù)據(jù)

  這類方法是在Web服務(wù)器上使用內(nèi)存作為緩存空間[6]。當(dāng)服務(wù)器響應(yīng)用戶對某個數(shù)據(jù)請求后,在內(nèi)存緩存空間中保留一個副本,下如果有相同的訪問請求,就直接將緩存空間中的副本提供給用戶。這可加快服務(wù)器的反應(yīng)能力和增加服務(wù)器的吞吐量。服務(wù)器端的緩存機制能夠減小用戶的訪問延遲,與客戶端緩存相比具有更高的安全性。但可能使用更多的Web服務(wù)器資源,增加了服務(wù)器硬件和軟件的復(fù)雜度,當(dāng)在信息存儲量較大時限制了應(yīng)用程序的可擴展性。

  ASP.NET提供了在服務(wù)器上維護狀態(tài)管理的四種方式。

  2.3.1 會話狀態(tài)(Session)

  Page類公開一個Session屬性,可以在Session中存儲會話特定的值和對象,該Session對象將由服務(wù)器來進行管理并可用于瀏覽器或客戶端設(shè)備。存儲在Session變量中的理想數(shù)據(jù)是特定于單獨會話的短期的、敏感的數(shù)據(jù),直到用戶的會話中止。

  對Session的應(yīng)用,要先通過在文件Global.asax中進行設(shè)置,然后在。aspx頁面中進行調(diào)用。如可用下面的程序在Global.asax中加上一個Session_Start方法以定義要響應(yīng)的屬性。

  void Session_Start(Object sender,EventArgs e)

  {

  Session.Add(″lastvalue″,0);

  }

  賦予屬性一個初值,這樣當(dāng)在頁面(。aspx)裝入時直接使用這個默認值。對Session值的應(yīng)用類似于對變量的使用(如Position=(int)Session[″lastvalue″]+1;),如果用它存儲數(shù)據(jù)集,則必須將其從Object強制轉(zhuǎn)換回數(shù)據(jù)集。

 ?。?)優(yōu)點:①易于實現(xiàn)。Session為ASP開發(fā)人員所熟悉,并且與其他。NET框架類一致。②安全性高。數(shù)據(jù)是由Web服務(wù)器而不是在瀏覽器中維護的,用戶不能通過瀏覽器來訪問或修改Session中的內(nèi)容。③與瀏覽器安全設(shè)置無關(guān)。Session可用于不支持HTTP Cookie的瀏覽器。④獨立性好。每個用戶的會話設(shè)置是分開的,不可共享。⑤會話特定的事件。會話管理事件可以由應(yīng)用程序引發(fā)和使用。⑥持久性。放置于會話狀態(tài)變量中的數(shù)據(jù)在經(jīng)過Internet信息服務(wù)(IIS)重新啟動和輔助進程重新啟動后,會話數(shù)據(jù)不會丟失。⑦平臺可縮放性。會話狀態(tài)對象可在多計算機和多進程配置中使用,因而優(yōu)化了可縮放性方案。

 ?。?)缺點:①可伸縮性差。應(yīng)用程序的每個會話都要在服務(wù)器上占用一定的資源,當(dāng)有大量訪問Web應(yīng)用程序的用戶時,就應(yīng)考慮要使用的服務(wù)器資源總量。②性能降低。Session變量在被移除或替換前保留在內(nèi)存中,如果其中包含類似大型數(shù)據(jù)集的信息塊,則可能會因服務(wù)器負荷的增加而降低Web服務(wù)器的性能。

  2.3.2 應(yīng)用程序狀態(tài)(Application)

  ASP.NET通過HttpApplicationState類將Application提供為一種存儲全局應(yīng)用程序特定信息的方法。Application對象與Session對象類似,不同的是通過頁面的Application屬性取得的數(shù)據(jù)是所有會話所共享的。插入到Application變量的理想數(shù)據(jù)是那些由多個會話共享并且不經(jīng)常更改的數(shù)據(jù)。

 ?。?)優(yōu)點:①易于實現(xiàn)。②與瀏覽器安全設(shè)置無關(guān)。③共享性高。因為儲存在Application中的數(shù)據(jù)對應(yīng)用程序的所有會話都是可用的,所以它是儲存所有會話都能使用的穩(wěn)定性數(shù)據(jù)(如產(chǎn)品目錄列表)的理想位置。

 ?。?)缺點:①可伸縮性差。②持久性。因為在Application中存儲的全局?jǐn)?shù)據(jù)是易失的,所以如果包含這些數(shù)據(jù)的 Web服務(wù)器進程被損壞,將丟失這些數(shù)據(jù)。③全局范圍。在Application中存儲的變量僅對于該應(yīng)用程序正在其中運行的特定進程而言是全局的,并且每一應(yīng)用程序進程可能具有不同的值。因此,不能依賴Application來存儲惟一值或更新網(wǎng)絡(luò)園和網(wǎng)絡(luò)場配置中的全局計數(shù)器。④性能降低。當(dāng)服務(wù)器負載增加時,就會降低Web服務(wù)器的性能,但比在Session中維護數(shù)據(jù)的情況要好。

  2.3.3 Cache

  如果對微型計算機硬件系統(tǒng)有足夠的了解,那么我們對于Cache這個名詞一定是耳熟能詳?shù)摹T贑PU以及主板的芯片中,都引入了這種名為高速緩沖存儲器(Cache)的技術(shù)。因為Cache的存取速度比內(nèi)存快,因而引入Cache能夠有效的解決CPU與內(nèi)存之間的速度不匹配問題。硬件系統(tǒng)可以利用Cache存儲CPU訪問概率高的那些數(shù)據(jù),當(dāng)CPU需要訪問這些數(shù)據(jù)時,可以直接從Cache中讀取,而不必訪問存取速度相對較慢的內(nèi)存,從而提高了CPU的工作效率。軟件設(shè)計借鑒了硬件設(shè)計中引入緩存的機制以改善整個系統(tǒng)的性能,尤其是對于一個數(shù)據(jù)庫驅(qū)動的Web應(yīng)用程序而言,緩存的利用是不可或缺的,畢竟,數(shù)據(jù)庫查詢可能是整個Web站點中調(diào)用頻繁但同時又是執(zhí)行緩慢的操作之一,我們不能被它老邁的雙腿拖緩我們前進的征程。緩存機制正是解決這一缺陷的加速器。

  Page對象公開一個Cache屬性,可以將Cache對象想象為更健壯的Application對象。儲存在Cache中的數(shù)據(jù)對應(yīng)用程序的所有會話都是可用的??梢韵駥pplication對象一樣訪問和修改Cache對象的內(nèi)容[3]。

  但在通過Add或者Insert方法向Cache添加項目時,Cache對象還提供了下面的附加功能:

  (1)可以通過提供具體值(DateTime)或者相對值(Time-

  Span)來指定何時從緩存中刪除該項。

 ?。?)可以指定CacheDependancy,它會在dependent項改變時迫使項從緩存中刪除。

  (3)可以指定當(dāng)項從緩存中被刪除時,ASP.NET要調(diào)用的回調(diào)函數(shù)。

  使用Cache對象的優(yōu)點及缺點與Application對象的很相似,只是Cache對象還提供了額外的緩存刪除功能。

  下面給出一個使用Cache存儲大數(shù)據(jù)的示例。在下面的Web表單中,對次請求從數(shù)據(jù)庫中檢索數(shù)據(jù),并把它存入到應(yīng)用程序緩存。將Dataset加入緩存時,設(shè)置5分鐘的到期限制,以便5分鐘內(nèi)的全部請求都使用緩存的Dataset。對于緩存Dataset到期之后出現(xiàn)的次請求,數(shù)據(jù)庫又會被訪問,新的Dataset開始緩存。為了證實這一觀點,Dataset次被創(chuàng)建,就把“鍵—值”對加入到DataSet.ExtendedProperties集合中,這是一個能保存用戶定義的“鍵—值”對集合。用它可存儲Dataset生成時間,這樣就可把它顯示到頁面上。

  下面的方法用于在Cache中存儲數(shù)據(jù)并在控件DataGrid1中顯示。

  private void datasetshow( )

  {/**構(gòu)建新的DataSet,并用Cache的Get的方法的結(jié)果為它賦值,該方法返回匹配指定鍵名的Object實例,并強制將它轉(zhuǎn)化為一個DataSet對象*/

  DataSet myDataSet=(DataSet) Cache.Get(″CacheddataSet″);

  if (myDataSet==null)

  {//dataLocationLabel記錄DataSet所在的位置及時間

  dataLocationLabel.Text=″<p>次來!時間是:″+

  DateTime.Now.ToLongTimeString( )+″</p>″;

  myDataSet=new DataSet( );

  //登錄數(shù)據(jù)庫服務(wù)器并填充數(shù)據(jù)集

  login(″sa″,myDataSet);

  //記錄創(chuàng)建時間

  myDataSet.ExtendedProperties.Add(″creattime″,

  DateTime.Now.ToLongTimeString( ));

  //在Cache中插入一個DataSet對象,設(shè)置5分鐘到期限制Cache.Insert(″CacheddataSet″,myDataSet,null,DateTime.Now.AddMinutes(5),TimeSpan.Zero);

  }

  else {

  dataLocationLabel.Text=″<p>數(shù)據(jù)取自cache中,創(chuàng)建時間是:″+myDataSet.ExtendedProperties[″creattime″]+″</p>″+″<p>你這次來的時間是:″+DateTime.Now.ToLongTimeString( )+″</p>″;

  }

  DataGrid1.DataSource=myDataSet.Tables[″authors″];

  DataGrid1.DataBind( );

  }

  2.3.4 輸出緩存

  輸出緩存允許將動態(tài)頁或用戶控件響應(yīng)存儲在輸出流(從發(fā)起服務(wù)器到請求瀏覽器)中任何具備HTTP 1.1緩存功能的設(shè)備上。當(dāng)后面的請求發(fā)生時,不執(zhí)行頁或用戶控件代碼,緩存的輸出用于滿足該請求。

  (1)優(yōu)點:如果需要根據(jù)DataSet的內(nèi)容重復(fù)產(chǎn)生同樣的HTML,則輸出緩存就是有效的,因為它在服務(wù)器端需要的處理更少。與Cache類似,可以控制輸出在緩存中保留的時間。

 ?。?)缺點:就像其他服務(wù)器端緩存功能一樣,輸出緩存仍然會消耗服務(wù)器上的資源。

  2.4 在數(shù)據(jù)庫中維護狀態(tài)

  當(dāng)應(yīng)用程序執(zhí)行一個非常復(fù)雜或者相當(dāng)花費時間的查詢時,可以將查詢的結(jié)果儲存在數(shù)據(jù)庫服務(wù)器上的一個單獨數(shù)據(jù)表中,而不是每次在用戶請求下一頁的結(jié)果時都要執(zhí)行這個查詢[1]。

  (1)優(yōu)點:①無狀態(tài)性。②持久性??梢愿鶕?jù)需要在盡可能長的時間內(nèi)存儲數(shù)據(jù)庫信息,這些信息不受Web服務(wù)器可用性的影響。③安全性高。對數(shù)據(jù)庫的訪問要求嚴(yán)格的身份驗證和授權(quán),這種訪問通常非常安全。④可伸縮性好、應(yīng)用程序的性能高。使用這種方法即使數(shù)據(jù)量很大,對應(yīng)用程序的性能影響也不會大。⑤可靠性和數(shù)據(jù)完整性。數(shù)據(jù)庫包括多種用于維護有效的功能,其中包括觸發(fā)器和引用完整性、事務(wù)等。通過在數(shù)據(jù)庫中(而不是在會話狀態(tài)等對象中)保存有關(guān)事務(wù)的信息,可方便地從錯誤恢復(fù)。⑥可訪問性。存儲在數(shù)據(jù)庫中的數(shù)據(jù)可供多種信息處理工具訪問。

 ?。?)缺點:①復(fù)雜性。使用數(shù)據(jù)庫支持狀態(tài)管理意味著更復(fù)雜的硬件和軟件配置,這比將數(shù)據(jù)儲存在Session、Application、Cache、ViewState或者Cookie這樣的簡單對象或集合中更復(fù)雜。②性能降低。不佳的關(guān)系數(shù)據(jù)模型結(jié)構(gòu)可能導(dǎo)致擴展問題,對數(shù)據(jù)庫執(zhí)行過多的查詢可能會影響服務(wù)器性能。

  3  結(jié)束語

  ASP.net是把基于通用語言的程序在服務(wù)器IIS上運行。不像以前的ASP即時解釋程序,而是將程序在服務(wù)器端首次運行時進行編譯,這樣的執(zhí)行效果,當(dāng)然比一條一條的解釋強很多。但是ASP.net也有一個特點,就是每修改程序(即代碼類)必須重新編譯,修改幾次就必須重新編譯幾次,執(zhí)行效果也會有所降低。

  綜上所述,對于安全性要求高的應(yīng)用程序,應(yīng)當(dāng)使用在Web服務(wù)器上維護緩存數(shù)據(jù)的方式;伸縮性要求高的應(yīng)用程序,應(yīng)當(dāng)使用在客戶端上維護緩存數(shù)據(jù)的方式。儲存的數(shù)據(jù)越多,加載頁面的時間越長,系統(tǒng)的性能就差。如果需要儲存大量特定于會話的數(shù)據(jù),在數(shù)據(jù)庫中儲存數(shù)據(jù)是一種明智的選擇。



  
關(guān)鍵詞:ASP.NET緩存技術(shù)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!