自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

高性能ASP.NET站點構(gòu)建之簡單的優(yōu)化措施

開發(fā) 后端
本文將給出一些在部署ASP.NET站點時采用的簡單的優(yōu)化措施,包括不同的部署方式所產(chǎn)生的影響。

高性能ASP.NET站點構(gòu)建系列文章目錄

  1. 高性能ASP.NET站點構(gòu)建之開篇
  2. 高性能ASP.NET站點構(gòu)建之剖析頁面的處理過程
  3. 高性能ASP.NET站點構(gòu)建之優(yōu)化HTTP請求
  4. 高性能ASP.NET站點構(gòu)建之細(xì)節(jié)決定成敗
  5. 高性能ASP.NET站點構(gòu)建之性能調(diào)優(yōu)綜述
  6. 高性能ASP.NET站點構(gòu)建之識別性能瓶頸
  7. 高性能ASP.NET站點構(gòu)建之簡單的優(yōu)化措施
  8. ASP.NET站點構(gòu)建之減少不必要的請求
  9. 高性能ASP.NET站點構(gòu)建之托管資源優(yōu)化
  10. 高性能ASP.NET站點構(gòu)建之監(jiān)測CLR性能

部署優(yōu)化

我們都知道,不同的部署方式對站點的性能是有影響的,可能有些朋友已經(jīng)知道了這點,不管怎樣,我們這里還是詳細(xì)系統(tǒng)的講述一下這個問題,熟悉的朋友權(quán)當(dāng)回顧J。

Release方式編譯項目

如果我們的項目是用Project的方式建立的,也就是說:我們的站點包含在一個Solution解決方案中,那么在發(fā)布之前,編譯項目的時候,采用release方式,這種方式會減少CPU的使用率。因為采用debug的方式發(fā)布,編譯器會編譯后的代碼中加入很多的信息,如調(diào)試信息等。

操作步驟:

1. 在VS中,選擇” Build | Configuration Manager”.如下:

2. 在”Active Solution Configuration”下拉框現(xiàn)在””Release”,然后”Close”.那么Solution就以Release方式編譯。(其實使得Solution編譯為Release的方法很多,例如在Solution上面右擊”屬性”,然后去設(shè)置也是可以的)

現(xiàn)在雖然Solution是Release方式了,但是如果我們?nèi)ゲ榭催@個Solution下面的ASP.NET站點程序的config文件,發(fā)現(xiàn)還是deubg方式的。那么我們在發(fā)布站點的時候,需要手動的去修改為release。

注:如果Solution是以debug方式編譯,即使web.config設(shè)置了release,最后發(fā)布的站點的代碼還是方式的。

站點發(fā)布

發(fā)布的步驟如下:

1. 修改web.config配置如下:

2. 在站點上面右鍵選擇”Publish”.如下:

 

減少不必要的回傳

我們都知道,從服務(wù)端到客戶端的回傳每次都是需要花費一定的時間的,而且加長了用戶等待的時間。所以有些回傳則是可免則免。 

Server.Transfer Vs Response.Redirect

如果我們需要在服務(wù)端把用戶定向到另外的一個頁面,那么考慮一下:盡量使用Server.Transfer,而不是使用Response.Redirect。

因為當(dāng)使用Response.Redirect的時候,服務(wù)端會向客戶端的瀏覽器發(fā)送一個響應(yīng):告訴瀏覽器去加載轉(zhuǎn)向的那個頁面。然后瀏覽器再次發(fā)送請求到服務(wù)端去請求另外的那個頁面。

當(dāng)我們使用Server.Transfer的時候,服務(wù)端就立刻執(zhí)行跳轉(zhuǎn)。這樣做的一個不好的地方可能就是:此時請求的是A.aspx,其實服務(wù)端已經(jīng)跳轉(zhuǎn)到了B.aspx頁面,但是瀏覽器上面的Url還是顯示的A.aspx。

當(dāng)使用Server.Transfer需要注意:確定每次訪問A頁面都需要跳轉(zhuǎn)到B頁面的時候,就是用Server.Transfer。例如,拿博客園來舉例,當(dāng)用戶在沒有登錄的時候想對正在閱讀的一篇文章評論,那么此時,頁面就會跳轉(zhuǎn)到Login的登陸頁面,登陸之后,頁面就跳轉(zhuǎn)到之前看文章的那個頁面,然后寫評論。此時的這個跳轉(zhuǎn)就不適合用Server.Transfer,而采用Response.Redirect。如果不管用戶在哪里,只要用戶登陸,那么總是跳到一個固定的頁面,那么就可以使用Server.Transfer。

還有就是Server.Transfer畢竟會消耗服務(wù)端的資源,使用的時候要注意。

通過上面可以看出:調(diào)優(yōu)本來就是一個折中的過程,不是絕對的。調(diào)優(yōu)最后說到底就是”時空轉(zhuǎn)換—時間換空間,空間換時間”。  

聲明站點的默認(rèn)頁面

當(dāng)我們請求一個站點的時候,如http://domain/folder,IIS會自動進(jìn)行一些重定向到http://domain/folder/。同時,http.sys也不會把沒有聲明默認(rèn)頁面的站點的默認(rèn)首頁加入到內(nèi)核的緩存中(可能說的有點的繞),例如,如果在程序中,我們設(shè)置站點的默認(rèn)頁面時Default.aspx,但是我們在部署到IIS的時候,沒有配置Default.aspx就是站點的默認(rèn)頁面,那么這個頁面的內(nèi)容不會被http.sys緩存到內(nèi)核中。所以為了避免IIS重定向和允許http.sys緩存頁面,我們在IIS中要配置站點的默認(rèn)頁面(或者每次在瀏覽器中輸入http://domain/folder/default.aspx,但是我們不能控制用戶的行為,所以這招這幾乎不可能)

永久跳轉(zhuǎn)相關(guān)話題

如果我們站點的某個頁面過期了或者不再用了,那么我們就可以采用301永久跳轉(zhuǎn)。當(dāng)服務(wù)端向客戶端發(fā)出301響應(yīng)的時候,瀏覽器和代理都會去更新他們的緩存(如果之前的舊頁面采用了緩存),而且搜索引擎也會采用新的頁面。

要讓服務(wù)端向客戶端發(fā)送301響應(yīng),如下的方式:

1.代碼:

在ASP.NET 4.0 及以后的版本:

Response.RedirectPermanent("NewPage.aspx");

2. IIS配置

a)   IIS 6配置

1. 在IIS中站點中,選中你想跳轉(zhuǎn)的文件或者目錄。

2. 選中”A redirection to a URL”

3. 然后輸入你想跳轉(zhuǎn)到的頁面。

4. 然后選中”The exact url entered above”和”A permanent redirect for this resource”。

b)   IIS 7

在Server 2008上面

1. 打開”開始”->”管理工具”->”服務(wù)器管理”

 

2. 在IIS上面添加”角色服務(wù)”

3. 在”常見Http功能”下面選中”Http重定向”

4. 然后安裝。

在Win7 上面,如下:

 

然后,在我們的站點的web.config配置如下:

  1. <configuration> 
  2.   <location path="OldPage.aspx"> 
  3.     <system.webServer> 
  4. <httpRedirect enabled="true" destination="NewPage.aspx" httpResponseStatus="Permanent" /> 
  5.     </system.webServer> 
  6.   </location> 
  7. </configuration> 

今天就到這里,多謝各位!

原文鏈接:http://www.cnblogs.com/yanyangtian/archive/2011/02/15/1954804.html

【編輯推薦】

  1. 高性能ASP.NET站點構(gòu)建之開篇
  2. 高性能ASP.NET站點構(gòu)建之剖析頁面的處理過程
  3. 高性能ASP.NET站點構(gòu)建之優(yōu)化HTTP請求
  4. 高性能ASP.NET站點構(gòu)建之細(xì)節(jié)決定成敗
  5. 高性能ASP.NET站點構(gòu)建之性能調(diào)優(yōu)綜述
  6. 高性能ASP.NET站點構(gòu)建之識別性能瓶頸
  7. 微軟PDC2009直擊:改進(jìn)ASP.NET 4運行時

 

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2011-02-22 09:16:24

高性能ASP.NET

2011-02-13 09:37:55

ASP.NET

2011-02-13 09:17:02

ASP.NET

2011-02-23 09:49:40

ASP.NET

2011-02-15 09:31:56

ASP.NET

2011-02-16 09:08:27

ASP.NET

2011-04-13 13:49:50

ASP.NET網(wǎng)站優(yōu)化

2011-02-14 09:32:16

ASP.NET

2010-07-22 09:13:00

ASP.NET

2011-06-28 15:14:10

ASP.NET性能優(yōu)化

2016-05-20 14:20:31

ASP.NET建議

2009-08-13 15:49:18

ASP.NET性能優(yōu)化

2011-10-19 09:41:15

ASP.NET性能優(yōu)化

2009-08-13 16:22:18

ASP.NET性能優(yōu)化

2012-05-16 10:24:26

ASP.NET性能優(yōu)化

2011-09-08 13:56:41

ASP.NET性能

2011-02-18 11:02:28

2011-10-17 09:54:18

ASP.NET性能

2024-06-11 09:00:00

異步編程代碼

2024-12-05 08:14:41

點贊
收藏

51CTO技術(shù)棧公眾號