北大青鳥技術(shù)指導(dǎo):如何優(yōu)化ASP.NET網(wǎng)站性能

北大青鳥通州校區(qū)學(xué)術(shù)部老師介紹,如果同學(xué)們了解ASP網(wǎng)站和ASP.NET網(wǎng)站,就會(huì)發(fā)現(xiàn),如果按正常的思路開發(fā)ASP.NET網(wǎng)站,ASP.NET網(wǎng)站的速度會(huì)比ASP網(wǎng)站慢很多,為什么強(qiáng)大的網(wǎng)站語(yǔ)言會(huì)比弱得慢的,原因很簡(jiǎn)單,正因?yàn)樗麖?qiáng)大,需要執(zhí)行的程序比較多,而服務(wù)器是一樣的,所以肯定ASP.NET網(wǎng)站會(huì)比ASP網(wǎng)站慢。

所以北大青鳥通州校區(qū)宋老師根據(jù)多年建站的經(jīng)驗(yàn),教同學(xué)們?nèi)绾慰焖偬岣逜SP.NET網(wǎng)站性能:

1、 禁用ViewState  ,VIewState只是當(dāng)頁(yè)面回發(fā)時(shí)仍能記住頁(yè)面狀態(tài),打破WEB先天的無(wú)狀態(tài)性,但肯定也造成性能下降,所以如果不是很必要,請(qǐng)不要使用,  具體禁用方法,可在Web.Config或Page開頭加上   EnableViewState="false";

2、 禁用SessionState,你可能會(huì)問(wèn),如果禁用SessionState,那不是不能使用Session了,怎么進(jìn)行身份驗(yàn)證呢,其實(shí),除了 Session,還可以使用Cookie,如果怕不安全,可以給Cookie加密,如Window  Form認(rèn)證就是Asp.net內(nèi)置的身份驗(yàn)證方式。如下:

authentication mode="Forms">

<forms name="River_Form" loginUrl="~/Login.aspx" defaultUrl="~/Default.aspx" protection="All" timeout="120000" path="/" requireSSL="false" slidingExpiration="true" enableCrossAppRedirects="false" cookieless="UseDeviceProfile"/>

</authentication>

3、網(wǎng)站發(fā)布時(shí),禁用調(diào)試,具體在Web.Config文件里設(shè)置<compilation debug="false">;

4、網(wǎng)站采用編譯發(fā)布 ;

5 、使用ASP.NET頁(yè)面緩存、控間緩存等提高性能;

6、使用Cache保存經(jīng)常使用的數(shù)據(jù),也就是數(shù)據(jù)緩存;

7、生成靜態(tài)頁(yè)面,或把經(jīng)常使用的內(nèi)容生成靜態(tài)文件,調(diào)用。

8、如果數(shù)據(jù)量大,不要使用GridView等內(nèi)置的分頁(yè)功能,他們是讀取所有數(shù)據(jù)再分頁(yè)的,應(yīng)使用取多少讀多少的分頁(yè)方式。

9、采用存儲(chǔ)過(guò)程,不但可以節(jié)省網(wǎng)站流量,更是可以提高速度,提高安全性;

10、注意isPostBack ,不要每次頁(yè)面回發(fā)重復(fù)執(zhí)行一些操作。(北大青鳥通州校區(qū)學(xué)術(shù)部提供)

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章