




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、項目八 高速緩存跟蹤檢測站點部署任務1 高速緩存任務2 跟蹤檢測任務3 站點部署任務1 高速緩存 任務場景: ASP.NET頁面中執(zhí)行最慢的操作是數(shù)據(jù)庫訪問,打開一個數(shù)據(jù)庫連接并讀取數(shù)據(jù)是比較耗時的。改進數(shù)據(jù)訪問代碼性能的最好方法是不訪問它,利用ASP.NET 3.5的緩存機制可以將內(nèi)存中的數(shù)據(jù)庫記錄緩存起來,直接從緩存中讀取數(shù)據(jù)則快了很多。在本任務中,將創(chuàng)建一個電影瀏覽頁面。當單擊電影標題時,將顯示選中電影的詳細信息,并使用緩存機制來提高訪問效率。知識要點緩存概述應用程序緩存添加緩存項讀取緩存項刪除緩存項頁輸出緩存使用頁輸出緩存什么是AJAX8.1 緩存概述緩存概述應用程序可以將那些頻繁訪問
2、的數(shù)據(jù)以及那些需要大量處理時間來創(chuàng)建的數(shù)據(jù)存儲在內(nèi)存中,從而提高性能兩種基本的緩存機制來提高緩存功能應用程序緩存:它允許緩存所生成的數(shù)據(jù)。應用程序緩存提供了一種編程方式,通過鍵/值對將任意數(shù)據(jù)存儲在內(nèi)存中。使用應用程序緩存與使用應用程序狀態(tài)類似,但是與應用程序狀態(tài)不同的是,應用程序緩存中的數(shù)據(jù)是易失的,即數(shù)據(jù)并不是在整個應用程序生命周期中都存儲在內(nèi)存中。頁輸出緩存:它保存頁處理輸出,并在用戶再次請求該頁時調(diào)用所保存的輸出,而不是再次處理該頁。允許ASP.NET直接向客戶端發(fā)送頁響應,而不必再次經(jīng)過頁處理生命周期。 8.2 應用程序緩存應用程序緩存是由System.Web.Caching.Cac
3、he類實現(xiàn)的,緩存實例(Cache對象)是每個應用程序?qū)S玫?,并且每個應用程序只有一個,通過Page類或UserControl類的Cache屬性公開。緩存生存期依賴于應用程序的生存期,當重新啟動應用程序后,將重新創(chuàng)建Cache對象,也就是說緩存數(shù)據(jù)將被清空??梢允褂肅ache對象訪問應用程序緩存中的項,使用Cache對象的Insert方法向應用程序緩存添加項。8.2 應用程序緩存添加緩存項通過鍵和值直接設置項將項以鍵/值對的形式存放在Cache中,同樣可以通過鍵來檢索這些項。下述代碼中,將商品分類信息緩存起來。CacheWareCategories = dsCategories;通過Inser
4、t方法將項添加到緩存中可以通過Cache類的Insert方法傳遞鍵和值來添加項,代碼如下:Cache.Insert(WareCategories , dsCategories);8.2 應用程序緩存設置緩存依賴項在向緩存中添加項時,可以為Cache對象的Insert或Add方法傳遞CacheDependncy對象(或SqlCacheDependncy對象)的一個實例,以添加上表中的緩存依賴項。如果具有關聯(lián)依賴項的項發(fā)生更改,緩存項便會失效并從緩存中刪除。依 賴 項說 明鍵依賴項允許緩存項依賴于應用程序緩存中另一緩存項的鍵。如果刪除了原始項,則具有鍵依賴關系的項也會被刪除文件依賴項緩存項可以依賴
5、于外部文件。如果該文件被修改或刪除,則緩存項也會被刪除SQL依賴項緩存項依賴于SQL Server數(shù)據(jù)庫中表的更改聚合依賴項通過使用AggregateCacheDependency類,緩存項可以依賴于多個元素。如果任何依賴項發(fā)生更改,該項都會從緩存中刪除自定義依賴項可以用自己的代碼創(chuàng)建依賴關系以配置緩存中的項8.2 應用程序緩存添加緩存項的鍵依賴項如果一個緩存項依賴于一個依賴項,當依賴項更改時則緩存項也被刪除。向CacheItem2添加依賴項CacheItem1,因此,只要CacheItem1發(fā)生變化,則CacheItem2立即從緩存中刪除。Cache.Insert(CacheItem2, C
6、acheValue2, new System.Web.Caching.CacheDependency(null, new string CacheItem1 );8.2 應用程序緩存添加緩存項的文件依賴項緩存依賴項還可以依賴于文件,當文件被修改或刪除時,緩存項將被刪除。添加緩存項的SQL依賴項在實際應用中,往往需要將數(shù)據(jù)庫中某個表的記錄進行緩存。但是,由于數(shù)據(jù)庫中的記錄是隨時變化的,如被某個用戶修改了記錄或添加、刪除了記錄等。在這種情況下,就可以為緩存項添加SQL依賴項,當數(shù)據(jù)庫記錄發(fā)生變化時自動刪除緩存項。Cache.Insert(CacheItem2, CacheValue2, new S
7、ystem.Web.Caching.CacheDependency(Server.MapPath(XMLFile.xml);8.2 應用程序緩存添加緩存項的SQL依賴項通過使用SqlCacheDependency對象來創(chuàng)建依賴于數(shù)據(jù)庫中的記錄。Cache.Insert(CacheItem2,CacheItem2,newSystem.Web.Caching.SqlCacheDependency(mydb,mytable);8.2 應用程序緩存設置緩存過期策略Cache類允許自定義如何緩存項以及將它們緩存多長時間。對于存儲在緩存中的易失項,通常設置一種過期策略,只要這些項的數(shù)據(jù)保持為最新,就將它們
8、保留在緩存中。例:在添加一個絕對過期的緩存項,過期時間為30分鐘??梢詫⒕彺骓椀倪^期策略設置為可調(diào)性過期。代碼如下:Cache.Insert(CacheItem2, CacheItem2, null, DateTime.Now.AddMinutes(30),System.Web.Caching.Cache.NoSlidingExpiration);Cache.Insert(CacheItem2, CacheItem2, null,System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0,30,0);8.2 應用程序緩存設置緩存優(yōu)
9、先級在ASP.NET中,當對已過期的緩存項執(zhí)行清理時,將根據(jù)在創(chuàng)建緩存項時指定的優(yōu)先級來進行清理。在服務器釋放系統(tǒng)內(nèi)存時,級別越低的緩存項越容易被清理。通常在使用Add或Insert方法添加項時指定一個CacheItemPriority枚舉值,該枚舉具有的成員如表成 員 名 稱說 明AboveNormal在服務器釋放系統(tǒng)內(nèi)存時,具有該優(yōu)先級級別的緩存項被刪除的可能性比分配了Normal優(yōu)先級的項要小BelowNormal在服務器釋放系統(tǒng)內(nèi)存時,具有該優(yōu)先級級別的緩存項比分配了Normal優(yōu)先級的項更有可能被刪除Default緩存項優(yōu)先級的默認值為NormalHigh在服務器釋放系統(tǒng)內(nèi)存時,具有
10、該優(yōu)先級級別的緩存項最不可能被刪除Low在服務器釋放系統(tǒng)內(nèi)存時,具有該優(yōu)先級級別的緩存項最有可能被刪除Normal在服務器釋放系統(tǒng)內(nèi)存時,具有該優(yōu)先級級別的緩存項很有可能被刪除,且被刪除的可能性僅次于具有Low或BelowNormal優(yōu)先級的那些項NotRemovable在服務器釋放系統(tǒng)內(nèi)存時,具有該優(yōu)先級級別的緩存項將不會被自動刪除。但是,具有該優(yōu)先級級別的項會根據(jù)項的絕對到期時間或可調(diào)整到期時間與其他項一起被刪除8.2 應用程序緩存設置緩存優(yōu)先級當使用Add或Insert方法創(chuàng)建緩存項時,可以通過傳遞參數(shù)CacheItemPriority指定其優(yōu)先級:讀取緩存由于緩存項在Cache中都是以
11、鍵/值對形式存儲的,可以通過鍵來檢索被緩存的項在讀取緩存項時,首先判斷該緩存項是否存在,然后再進行訪問。Cache.Insert(CacheItem2, CacheItem2, null,System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.CacheItemPriority.High, null);if (CacheCategories != null) DataSet dsCategories = (DataSet)CacheCategories; 8.2 應用程序緩存從緩存中刪除項ASP.NET緩存中的數(shù)據(jù)是易
12、失的,即不能永遠保存。當緩存已滿、項已過期或依賴項發(fā)生更改時,緩存中的數(shù)據(jù)會自動刪除。除了允許從緩存中自動刪除項之外,還可以顯式刪除項。下面,通過調(diào)用Cache類的Remove()方法來刪除緩存項。Cache.Remove(Categories);8.3 頁輸出緩存頁輸出緩存概述輸出緩存使用戶可以緩存ASP.NET頁所發(fā)生的部分響應或所有響應。利用輸出緩存,能有效提高Web應用程序的性能。對站點中訪問最頻繁的頁進行緩存可以大幅提高Web服務器的吞吐量。使用頁輸出緩存設置頁的可緩存性當Web服務器項請求瀏覽器發(fā)送響應時,服務器會在響應的HTTP頭中包含一個CacheControl字段,該字段定義
13、可以緩存該頁的設備。根據(jù)應用程序的需要,可以分別定義哪些設備應該或不應緩存各個ASP.NET頁。通過在頁面文件中使用OutputCache指令,以聲明的方式設置頁的可緩存性,還可以通過編程方式設置頁面的可緩存性。8.3 頁輸出緩存OutputCache指令的屬性屬 性說 明Duration頁或用戶控件進行緩存的時間(以秒計)LocationOutputCacheLocation枚舉值之一。默認值為AnyCacheProfile與該頁關聯(lián)的緩存設置的名稱。可選屬性,默認值為空字符串VaryByParam分號分隔的字符串列表,用于使輸出緩存發(fā)生變化VaryByControl一個分號分隔的字符串列表
14、,用于更改用戶控件的輸出緩存。這些字符串代表用戶控件中聲明的服務器控件的ID屬性值VaryByHeader分號分隔的HTTP標頭列表,用于使輸出緩存發(fā)生變化。將該屬性設為多標頭時,對于每個指定標頭組合,輸出緩存都包含一個不同版本的請求文檔VaryByCustom表示自定義輸出緩存要求的任意文本8.3 頁輸出緩存OutputCacheLocation枚舉類型例:設置頁面可被緩存60秒,且緩存在服務器屬 性說 明Any輸出緩存位于產(chǎn)生請求的客戶端瀏覽器、參與請求的代理服務器或處理請求的服務器上Client輸出緩存位于產(chǎn)生請求的瀏覽器客戶端上None對于請求的頁,禁用輸出緩存Server輸出緩存位于
15、處理請求的Web服務器上ServerAndClient輸出緩存只能存儲在源服務器或發(fā)生請求的客戶端中。代理服務器不能緩存響應8.3 頁輸出緩存還可以在Web.config文件中定義緩存配置文件,在配置文件中包括Location、Duration和varyByParam設置并設置頁面中包含OutputCache指令 8.3 頁輸出緩存緩存一個頁面的多個版本ASP.NET允許在輸出緩存中緩存同一頁的多個版本。輸出緩存可能會因下列因素而異。初始請求中的查詢字符串,使用VaryByParam屬性。回發(fā)時傳遞的控制值,使用VaryByControl屬性。隨請求傳遞的HTTP標頭,使用VaryByHead
16、er屬性。發(fā)出請求的瀏覽器的主版本號,使用VaryByCustom屬性。該頁中的自定義字符串,使用VaryByCustom屬性。在這種情況下,可以在Global.asax文件中創(chuàng)建自定義代碼以指定該頁的緩存行為。8.3 頁輸出緩存部分頁緩存部分頁緩存通常通過用戶控件來包含緩存的內(nèi)容,然后將用戶控件標記為可緩存來緩存部分頁輸出。該選項允許緩存頁中的特定內(nèi)容,而每次都重新創(chuàng)建整個頁。在標識了要緩存的頁的部分,并創(chuàng)建了用以包含這些部分中的用戶控件后,還需確定用戶控件的緩存策略。在.ascx文件中使用OutputCache指令來設置8.3 頁輸出緩存例8-1:部分緩存示例創(chuàng)建一個用戶控件WebUser
17、Control.ascx,放入一個Label控件用于顯示當前時間,并設置該用戶控件將緩存120秒。WebUserControl.ascx頁面代碼 WebUserControl.ascx .cs類代碼被緩存的用戶控件:protected void Page_Load(object sender, EventArgs e) Label1.Text = DateTime.Now.ToLongTimeString();任務實施高速緩存實現(xiàn)影片信息瀏覽任務實施步驟1:創(chuàng)建網(wǎng)站,命名為CacheDemo步驟2新建數(shù)據(jù)表在SQL Server2005中新建名為“Movies”的數(shù)據(jù)庫,并在其中添加名為“Mo
18、vies”的表,用于保存電影信息。CREATE TABLE dbo.Movies(MoviesId int NOT NULL PRIMARY KEY,MoviesTitle nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL,MoviesDirector nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL,MoviesReleased datetime NULL)任務實施步驟3:編輯Default.aspx頁打開Default.aspx頁,添加GridView控件用于顯示電影標題列表步驟4-6:為GridView控件設置數(shù)
19、據(jù)源選擇數(shù)據(jù)表和列,選擇名稱為“Movies”表,并選中“MoviesId”和“MoviesTitle” 列。任務實施步驟7:編輯GridView控件列步驟8:添加用戶控件MovieDetail.ascx添加用戶控件MovieDetail.ascx,并添加DetailsView控件,用于顯示電影詳細信息步驟9:將用戶控件應用到Default.aspx頁中任務實施步驟10:瀏覽Default.aspx頁,查看顯示效果步驟11:編輯用戶控件MovieDetail.ascx對MovieDetail.ascx用戶控件進行緩存任務實施步驟12:編輯用戶控件MovieDetail.ascx添加用于顯示時鐘
20、的Label控件步驟13:瀏覽Default.aspx頁選中一個電影標題顯示效果,再選擇另一個電影標題的顯示效果。再次選中前一次選擇的電影標題的顯示效果,并刷新查看運行效果。任務2 跟蹤檢測 任務場景: 在Web應用程序開發(fā)過程中,開發(fā)人員可以使用內(nèi)部的調(diào)試器發(fā)現(xiàn)并解決問題,但是在產(chǎn)品發(fā)布環(huán)境下,考慮到安全以及版權,使用調(diào)試器對于管理員來說是一個巨大的任務。為了收集統(tǒng)計,ASP.NET使用Trace對象跟蹤HTTP頭信息以及會話狀態(tài)信息。知識要點跟蹤概述頁面級跟蹤應用程序級跟蹤8.4 跟蹤概述跟蹤概述利用跟蹤技術,可以查看有關對ASP.NET頁請求的診斷信息,允許開發(fā)人員在代碼中直接編寫調(diào)試語
21、句,而不必將應用程序部署到成品服務器時從應用程序中刪除這些語句,僅僅通過設置編譯開關就可以完成。ASP.NET跟蹤機制將消息寫入顯示在ASP.NET網(wǎng)頁和跟蹤查看器Trace.axd中http:/localhost/網(wǎng)站名稱/Trace.axd8.4 跟蹤概述跟蹤信息輸出輸出信息類別說 明請求詳細信息顯示關于當前請求和響應的常規(guī)信息跟蹤信息顯示頁級事件流。如果創(chuàng)建了自定義跟蹤消息,這些消息也將顯示在“跟蹤信息”部分控件樹顯示關于在頁中創(chuàng)建的ASP.NET服務器控件的信息會話狀態(tài)顯示關于存儲在會話狀態(tài)中的值的信息應用程序狀態(tài)顯示關于存儲在應用程序狀態(tài)中的值的信息Cookie集合顯示關于針對每個請
22、求和響應在瀏覽器和服務器之間傳遞的Cookie的信息。該部分既顯示持久性Cookie,也顯示會話Cookie標頭集合顯示關于請求和響應消息的標頭名稱/值對(提供關于消息體或所請求的資源的信息)的信息。標頭信息用來控制請求消息的處理方式和響應消息的創(chuàng)建方式窗體集合顯示名稱/值對,對顯示在回發(fā)期間的請求中提交的窗體元素值(控件值)Querystring集合顯示在URL中傳遞的值服務器變量顯示服務器相關的環(huán)境變量的集合和請求標頭信息。HttpRequest對象的ServerVariables屬性返回服務器變量的NameValueCollection8.5 頁級跟蹤頁級跟蹤可以控制是否啟用單個頁面的跟
23、蹤。默認情況下,ASP.NET網(wǎng)頁是禁用跟蹤的。啟用頁級跟蹤在頁面文件的Page指令中設置Trace屬性為true,即可啟用頁面級跟蹤。可以設置TraceMode屬性,指定跟蹤消息出現(xiàn)的順序。SortByTime:按跟蹤消息的處理順序?qū)Ω櫹⑦M行排序SorttByCategory,按在頁或服務器控件代碼的System.Web.TraceContext.Warn和System.Web.TraceContext.Write方法調(diào)用中指定的類別對消息進行排序。默認值為SortByTime。8.5 頁級跟蹤跟蹤變量通過Page類的Trace屬性來完成。Trace屬性返回當前Web請求的TraceCo
24、ntext對象,該對象捕獲并提供有關Web請求的詳細信息。通過調(diào)用它的方 法(Write和Warn)可將消息追加到特定的跟蹤類別。Write和Warn都可以輸出跟蹤信息,只是后者輸出的文本顯示為紅色。8.5 頁級跟蹤跟蹤變量例:啟用default.aspx頁的頁面級跟蹤,并在頁面的默認事件Page_Load中自定義輸出消息。protected void Page_Load(object sender, EventArgs e) Trace.Warn(ASPNET_TRACE,Page_Load);8.6 應用程序級跟蹤應用程序級跟蹤對應用程序的Web.config文件進行配置在所有頁(除顯示設
25、置跟蹤的頁)中控制是否顯示跟蹤信息。頁面級的跟蹤設置將覆蓋應用程序級的設置。即使應用程序級啟用了跟蹤,如果在頁面中通過顯式設置禁用了跟蹤,則該頁面上也不會顯示跟蹤信息如果在應用程序級禁用了啟用跟蹤,而頁面上啟用跟蹤,也可以查看該頁的跟蹤信息。8.6 應用程序級跟蹤應用程序級跟蹤在Web.config文件中,通過對節(jié)點進行設置,即可啟用或禁用應用程序級跟蹤。節(jié)點的相關配置屬性如表所示屬 性說 明Enabled若要對應用程序啟用跟蹤,則為true;否則為false。默認為falsepageOutput若要在頁中和跟蹤查看器(Trace.axd)中顯示跟蹤,則為true;否則為false。默認為fa
26、lseRequestLimit要在服務器上存儲的跟蹤請求書,默認值為10traceMode跟蹤信息的顯示順序localOnly若要使跟蹤查看器(Trace.axd)只在主機Web服務器上可用,則為true,否則為false。默認為truemostRecent若要在跟蹤輸出中顯示最新的跟蹤信息,則為true,否則為false,表示一旦超出requestLimit值,則不存儲新的請求。默認值為false8.6 應用程序級跟蹤例:為應用程序配置跟蹤,且要求最多可收集40個請求的跟蹤信息,并允許使用服務器以外的計算機上的瀏覽器顯示跟蹤查看器通過代碼配置,在瀏覽應用程序中的任何頁面時都會看到跟蹤消息。但
27、若頁面的Page指令中禁用了跟蹤,將不會看到任何跟蹤信息。任務實施跟蹤檢測Web頁任務實施步驟1打開網(wǎng)站打開項目8任務1 中的CacheDemo網(wǎng)站步驟2:編輯Default.aspx頁,啟用跟蹤修改Page指令步驟3:編輯MovieDetail.ascx用戶控件為MovieDetail.ascx用戶控件的Page_Load事件添加代碼,設置跟蹤系統(tǒng)時間protected void Page_Load(object sender, EventArgs e)Label1.Text = DateTime.Now.ToString();Trace.Warn(Label1.Text);任務實施步驟4
28、瀏覽Default.aspx頁,查看效果任務3 站點部署 任務場景: 構建應用程序的一個重要方面還應考慮如何打包,以方便部署應用程序。大多數(shù)Web應用程序都僅在內(nèi)部發(fā)布,此時使用簡單的復制功能就足夠了。但如果允許其他人購買或使用Web應用程序,就需要通過打包使部署過程盡可能簡單。知識要點站點部署概述復制站點發(fā)布站點Web項目安裝包8.7 站點部署概述部署ASP.NET Web站點的方式很多,包括站點復制、站點發(fā)布和創(chuàng)建安裝程序包。復制站點復制站點是通過使用站點復制工具將Web站點的源文件復制到目標站點來完成站點的部署。站點復制工具站點復制工具可以在當前站點與另一個站點之間復制文件。該工具支持同
29、步功能,同步檢查兩個站點上的文件并確保所有文件都是最新的。在Visual Studio中創(chuàng)建任何類型的站點,包括本地站點、IIS站點、遠程(FrontPage)站點和FTP站點。8.7.1 復制站點站點復制的優(yōu)點只需將文件從站點復制到目標計算機即可完成部署可以使用Visual Web Developer所支持的任何連接協(xié)議部署到目標計算機如果使用的是其文件存儲在中央服務器中的項目,則可以使用同步功能確保文件的本地和遠程版本保持同步。站點復制的缺點站點是按原樣復制的。如果文件包含編譯錯誤,則只有用戶運行引發(fā)該錯誤的網(wǎng)頁時才會發(fā)現(xiàn)該錯誤由于沒有經(jīng)過編譯,所以當用戶請求網(wǎng)頁時將執(zhí)行動態(tài)編譯,并緩存編
30、譯后的資源。由于發(fā)布的是源代碼,因此其代碼是公開的,可能導致代碼泄漏。8.7.1 復制站點使用站點復制工具連接到目標站點復制源文件可以使用站點復制工具復制構成站點的所有源文件,具體包括:ASPX文件。代碼隱藏文件。其他Web文件(如靜態(tài)HTML文件、圖像等)。復制工具允許逐個復制文件或一次復制所有文件。通常第一次發(fā)布時使用一次性復制所有文件,而以后每次在本地修改了個別文件后則使用逐個復制的方法。8.7.1 復制站點使用站點復制工具同步文件將新建文件復制到?jīng)]有該文件的站點中。復制已更改的文件,使得兩個站點都具有該文件的最新版本。不復制未更改的文件。條 件結 果已刪除了一個站點上的文件提示是否要刪
31、除另一個站點上的相應文件文件在兩個站點上的時間戳不同(在不同時間對兩個站 點上的該文件進行了添加或編輯)提示要保留哪一個版本8.7.2 發(fā)布站點發(fā)布站點概述發(fā)布站點將編譯站點,并將輸出復制到指定位置。主要完成以下任務:將App_Code文件夾中的頁、源代碼等預編譯到可執(zhí)行輸出中。將可執(zhí)行輸出寫入目標文件夾。同“站點復制”相比,發(fā)布站點具有以下優(yōu)點:預編譯過程能發(fā)現(xiàn)任何編譯錯誤,并在配置文件中標識錯誤。單獨頁的初始響應速度更快,因為頁已被編譯過。不會隨站點部署任何程序代碼,從而保證了程序文件一定的安全性,并可以帶標記保護發(fā)布站點;若不帶標記保護發(fā)布站點,就將把.aspx文件按原樣復制到站點中并允
32、許在部署后對其布局進行更新。8.7.2 發(fā)布站點預編輯站點預編譯實際執(zhí)行的編譯過程與通常在瀏覽器中請求頁時發(fā)生的動態(tài)編譯的編譯過程相同。預編譯現(xiàn)有站點以通過預編譯現(xiàn)有站點來稍稍提高站點的性能。在執(zhí)行就地預編譯時,將編譯所有ASP.NET文件類型在預編譯過程中,編譯器將為所有可執(zhí)行輸出創(chuàng)建程序集,并將程序集放在“%SystemRoot%Microsoft.NETFrameworkversionTemporary ASP.NET Files”文件夾中,ASP.NET將通過此文件夾中的程序集來完成頁請求。針對部署的預編譯針對部署進行預編譯,并將以布局形式創(chuàng)建輸出,其中包括程序集、配置信息、有關站點文
33、件夾的信息以及靜態(tài)文件等。站點編譯之后,可以使用類似FTP工具將其部署到成品服務器。部署完成之后即可運行。8.7.2 發(fā)布站點預編譯對文件的處理(只用于部署)文 件 類 型預編譯操作輸 出 位 置.aspx.ascx.master生成程序集和一個指向該程序集的.compiled文件。原始文件保留在原位置,作為完成請求的占位符程序集和.compiled文件寫入Bin文件夾中。頁被輸出至與源文件相同結構的位置,并刪除.aspx文件的內(nèi)容,而.ascx、.master文件不會被 復制.asmx.ashx生成程序集,原始文件保留在原位置,作為完成請求的占位符Bin文件夾App_Code文件夾中的文件生
34、成一個或多個程序集(取決于Web.config設置)Bin文件夾未包含在App_Code文件夾中的.cs或.vb文件與依賴與這些文件的頁或資源一起編譯Bin文件夾Bin文件夾中的.dll文件按原樣復制文件Bin文件夾資源(.resx)文件App_LocalResources或App_Global-Resources文件夾中的.resx文件,生成一個或多個程序集以及一個區(qū)域性結構Bin文件夾App_Themes文件夾及子文件夾中的文件在目標位置生成程序集并生成指向這些程序集的.compiled文件Bin文件夾靜態(tài)文件(.html、.htm、圖形文件等)按原樣復制文件與源結構相同瀏覽器定義文件按原
35、樣復制文件App_Browsers8.7.2 發(fā)布站點預編譯對文件的處理(只用于部署)文 件 類 型預編譯操作輸 出 位 置依賴項目將依賴項目的輸出生成到程序集中Bin文件夾Web.config文件按原樣復制文件與源結構相同Global.asax文件編譯到程序集中Bin文件夾8.7.2 發(fā)布站點預編譯對文件的處理(用于部署和更新)文 件 類 型預編譯操作輸 出 位 置.aspx.ascx.master對于具有代碼隱藏類文件的所有文件,生成一個程序集,并將這些文件的單文件版本復制到目標位置程序集文件寫入Bin文件夾中。.aspx、.ascx、.master文件被輸出至與源結構相同的位置.asmx
36、.ashx按原樣復制文件,但不編譯與源結構相同App_Code文件夾中的文件生成一個程序集和一個.compiled文件Bin文件夾未包含在App_Code文件夾中的.cs或.vb文件與依賴于這些文件的頁或資源一起編譯Bin文件夾Bin文件夾中的.dll文件按原樣復制文件Bin文件夾資源(.resx)文件App_GlobalResources文件夾中的.resx文件,生成一個或多個程序集以及一個區(qū)域性結構;App_LocalResources文件夾中的.resx文件,按原樣復制到輸出位置的App_LocalResources文件夾中程序集放置在Bin文件夾中App_Themes文件夾及子文件夾中
37、的文件按原樣復制文件與源結構相同靜態(tài)文件(.html、.htm、圖形文件等)按原樣復制文件與源結構相同瀏覽器定義文件按原樣復制文件App_Browsers依賴項目將依賴項目的輸出生成到程序集中Bin文件夾Web.config文件按原樣復制文件與源結構相同Global.asax文件編譯到程序集中Bin文件夾8.7.2 發(fā)布站點.compiled文件對于ASP.NET Web應用程序中的可執(zhí)行文件、程序集和程序集名稱以及文件擴展名為.compiled的文件都是在編譯時生成的,.compiled文件不包含可執(zhí)行代碼,它只包含ASP.NET查詢相應的程序集所需的信息。在部署預編譯的應用程序之后,ASP
38、.NET使用Bin文件夾下的程序集來處理請求。預編譯輸出包含.aspx或.asmx文件,不包含任何代碼,采用該方式來限制對特定文件的訪問。8.7.2 發(fā)布站點更新部署的站點在部署預編譯的站點之后,還可以對站點中的文件或頁面布局進行一定的更改文 件 類 型允許的更改(僅部署)允許的更改(部署和更新)靜態(tài)文件(.html、.htm、圖形文件等)可以更改、刪除或添加靜態(tài)文件。當ASP.NET網(wǎng)頁引用的頁或頁元素已被更改或刪除,可能會發(fā)生錯誤可以更改、刪除或添加靜態(tài)文件。當ASP.NET網(wǎng)頁引用的頁或頁元素已被更改或刪除,可能會發(fā)生錯誤.aspx文件不允許更改現(xiàn)有的頁。不允許添加新的.aspx文件可以更改.aspx文件的布局和添加不需要代碼的元素,還可以添加新的.aspx文 件(該文件通常在首次請求時進行編譯).skin文件忽略更改和新增的.sk
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《肩關節(jié)解剖學》課件
- 醫(yī)學影像工作流程圖解
- 高中數(shù)學教案教學設計
- 八年級上學期數(shù)學教學工作總結模版
- 小兒嗜血性流行性感冒桿菌腦膜炎的臨床護理
- 《谷物雜糧與營養(yǎng)》課件
- 2025員工勞動的合同范本
- 《血糖的監(jiān)測與護理》課件
- 家用電氣安全規(guī)范
- 2025關于網(wǎng)絡云服務合同協(xié)議范本
- YS/T 226.12-2009硒化學分析方法第12部分:硒量的測定硫代硫酸鈉容量法
- JB/T 20110-2016真空潤藥機
- GB/T 8152.4-2006鉛精礦化學分析方法鋅量的測定EDTA滴定法
- GB/T 35653.1-2017地理信息影像與格網(wǎng)數(shù)據(jù)的內(nèi)容模型及編碼規(guī)則第1部分:內(nèi)容模型
- GB/T 18742.1-2017冷熱水用聚丙烯管道系統(tǒng)第1部分:總則
- 德國的介紹圖文課件
- 2023年版下肢動脈硬化閉塞癥診治指南
- 兒童換牙期健康課件
- 硬筆書法:幼小銜接識字寫字教學課件
- 崇尚科學反邪教主題教育PPT反對邪教主題教育宣講課件
- 大眾Formel-Q培訓材料全解析含案例
評論
0/150
提交評論