關(guān)于ASP.NET的性能優(yōu)化及其安全性的探討_第1頁(yè)
關(guān)于ASP.NET的性能優(yōu)化及其安全性的探討_第2頁(yè)
關(guān)于ASP.NET的性能優(yōu)化及其安全性的探討_第3頁(yè)
關(guān)于ASP.NET的性能優(yōu)化及其安全性的探討_第4頁(yè)
關(guān)于ASP.NET的性能優(yōu)化及其安全性的探討_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、關(guān)于的性能優(yōu)化及其平安性的討論論文關(guān)鍵詞性能優(yōu)化平安性論文摘要本文主要從在網(wǎng)站開發(fā)中的性能及其平安性入手,介紹了如何將eb應(yīng)用程序運(yùn)行得越來(lái)越快,并且可以得到擴(kuò)展以處理更多的并發(fā)用戶,以及如何利用的平安系統(tǒng)來(lái)實(shí)現(xiàn)最高性能的平安代碼。我們用開發(fā)網(wǎng)站,無(wú)論我們寫的應(yīng)用程序有多么好,無(wú)論在eb站點(diǎn)中添加了多少很酷的新特性,假如我們的站點(diǎn)在處理用戶懇求時(shí)哪怕只是讓用戶等待了幾秒鐘,用戶也不會(huì)對(duì)我們的站點(diǎn)留下好印象。事實(shí)上,假如用戶等得太久,他們就會(huì)放棄而去訪問另一個(gè)站點(diǎn)。那么,如何才能進(jìn)步站點(diǎn)的響應(yīng)速度,這就要考慮到我們?cè)陂_發(fā)過程中如何優(yōu)化的性能。一、性能開發(fā)及其優(yōu)化性能表示系統(tǒng)執(zhí)行任務(wù)的速度和效率。

2、就eb站點(diǎn)的性能而言,它對(duì)整個(gè)站點(diǎn)的點(diǎn)擊率起著不可無(wú)視的作用。假如一個(gè)性能很差的網(wǎng)站長(zhǎng)期沒有改良,你就會(huì)發(fā)現(xiàn)潛在的用戶全都跑光了。1.利用jit編譯器進(jìn)步程序執(zhí)行速度高性能代碼旨在能少做工作就少做工作,這是不言而明的。在編譯任何的應(yīng)用程序時(shí),編譯器把源代碼轉(zhuǎn)換為irsft中間語(yǔ)言sil。要在一個(gè)詳細(xì)環(huán)境中執(zhí)行應(yīng)用程序,一個(gè)jit編譯器先承受sil輸出并把指令轉(zhuǎn)換為主機(jī)處理的本機(jī)指令,再以即時(shí)方式編譯代碼,以便應(yīng)用程序開場(chǎng)執(zhí)行。但是,jit編譯器不是把程序集中所有的sil都在開場(chǎng)執(zhí)行前轉(zhuǎn)換為本機(jī)代碼,只是一次編譯一個(gè)方法。jit編譯器采用的這種方法有兩個(gè)性能上的優(yōu)勢(shì)。第一個(gè)優(yōu)勢(shì):這項(xiàng)技術(shù)把編譯的

3、本錢分?jǐn)傇谝粋€(gè)較長(zhǎng)的時(shí)間內(nèi),由于執(zhí)行會(huì)比jit編譯器把所有的sil都進(jìn)展編譯看起來(lái)要快,這樣感覺到應(yīng)用程序的性能進(jìn)步了。假如把長(zhǎng)時(shí)間的暫?;虻却龝r(shí)間分成小塊,把它們分散開,你的用戶就不會(huì)注意到它們,用戶對(duì)你的應(yīng)用程序的性能也會(huì)比擬滿意。第二個(gè)優(yōu)勢(shì):jit編譯器不編譯在執(zhí)行期間用不到的方法。因此不會(huì)做沒有必要的工作,無(wú)論什么時(shí)候省去不必要的處理工作,你就會(huì)發(fā)現(xiàn)可以獲得真正的性能增益。2.減少運(yùn)行時(shí)的工作在底層,根底構(gòu)造為了讓我們工作輕松,做了大量的根底工作。雖然把這個(gè)體系構(gòu)造用做一個(gè)黑盒很不錯(cuò),但有時(shí)理解使一切如此無(wú)縫的運(yùn)行的實(shí)現(xiàn)細(xì)節(jié)也是很有益的。掌握了這些額外的信息,我們經(jīng)常可以更有效地在運(yùn)行

4、程序時(shí)獲得速度上的優(yōu)勢(shì)。其實(shí)現(xiàn)主要有以下三種方法:(1)視圖狀態(tài)的優(yōu)化視圖狀態(tài)是性能的無(wú)聲殺手。自動(dòng)視圖狀態(tài)管理是效勞器控件的功能,該功能使效勞器控件可以在往返過程上重新填充它們的屬性值(不需要編寫任何代碼)。但是,因?yàn)樾谄骺丶囊晥D狀態(tài)在隱藏的窗體字段中往返于效勞器,所以該功能確實(shí)會(huì)對(duì)性能產(chǎn)生影響。因此,開發(fā)人員應(yīng)該知道在哪些情況下視圖狀態(tài)會(huì)有所幫助,在哪些情況下它影響配器的性能。例如,假如將效勞器控件綁定到每個(gè)往返過程的數(shù)據(jù)上,那么將用數(shù)據(jù)綁定操作獲得的新值交換保存的視圖狀態(tài)。在這種情況下,禁用視圖狀態(tài)可以節(jié)省處理時(shí)間。默認(rèn)情況下,為所有效勞器控件啟用視圖狀態(tài)。假設(shè)要禁用視圖狀態(tài),將控件

5、的enableviestate屬性設(shè)置為false。從某種意義上說,視圖狀態(tài)是有史以來(lái)最偉大的事情。畢竟,視圖狀態(tài)使頁(yè)面和控件可以在回發(fā)之間保持狀態(tài)。因此,不必像在傳統(tǒng)的asp中那樣編寫代碼,以防止在單擊按鈕時(shí)文本框中的文本消失,或在回發(fā)后重新查詢數(shù)據(jù)庫(kù)和重新綁定datagrid。但是,視圖狀態(tài)也有缺點(diǎn):當(dāng)它增長(zhǎng)得過大時(shí),某些控件(例如文本框)會(huì)根據(jù)視圖狀態(tài)做出相應(yīng)判斷;其他控件(特別是datagrid和gridvie)那么根據(jù)顯示的信息量確定視圖狀態(tài)。一個(gè)糟糕的gridvie容易將閱讀器和eb效勞器之間連接的有效帶寬減少50%以上。2.0可以提供比1.x更簡(jiǎn)單的方法將視圖狀態(tài)保存在會(huì)話狀態(tài)中

6、。(2)盡量減少效勞器控件的使用效勞器端的控件不僅能生成視圖狀態(tài),它們也需要額外的運(yùn)行時(shí)間處理綁定到成員變量。由于它們會(huì)使用效勞器資源,即使它們非常易于使用,但是效勞器控件并不總是完成任務(wù)的最正確選擇,在許多情況下,一個(gè)簡(jiǎn)單的呈現(xiàn)或數(shù)據(jù)綁定代入就可以完成任務(wù)。所以,eb頁(yè)面上效勞器端的控件應(yīng)該保持在最低的數(shù)量上。(3)把異常減到最少不要依賴代碼中的異常。因?yàn)楫惓4蟠蟮亟档托阅?所以不應(yīng)該將它們用作控制正常程序流程的方式。異常是通知程序執(zhí)行期間發(fā)生的錯(cuò)誤的一個(gè)非常有用的設(shè)備。程序不能無(wú)視異常它們將會(huì)改變程序的執(zhí)行流。在運(yùn)行時(shí)的托管環(huán)境中,用try和ath設(shè)置異常處理代碼只對(duì)性能有可以忽略不計(jì)的影

7、響,但程序拋出異常時(shí)卻有性能的損失。假如將tryath語(yǔ)句使用為if語(yǔ)句,將拋出更少的異常,運(yùn)行得更快。3.有效使用內(nèi)存和緩存只要可能,就緩存數(shù)據(jù)和頁(yè)面輸出。使用緩存機(jī)制有兩點(diǎn)需要注意。首先,不要緩存太多項(xiàng),緩存每個(gè)項(xiàng)均有開銷,特別是在內(nèi)存使用方面。不要緩存容易重新計(jì)算和很少使用的項(xiàng)。其次,給緩存的項(xiàng)分配的有效期不要太短。很快到期的項(xiàng)會(huì)導(dǎo)致緩存中不必要的周轉(zhuǎn),并且經(jīng)常導(dǎo)致更多的代碼去除和垃圾回收工作。高周轉(zhuǎn)率可能說明存在問題,特別是當(dāng)項(xiàng)在到期前被移除時(shí)。不要給每個(gè)懇求分配過多內(nèi)存,因?yàn)檫@樣垃圾回收器將必須更頻繁地進(jìn)展更多工作。另外,不要讓不必要的指針指向?qū)ο?因?yàn)樗鼈儗⑹箤?duì)象保持活動(dòng)狀態(tài),并且

8、應(yīng)盡量防止含finalize方法的對(duì)象,因?yàn)樗鼈冊(cè)诤竺鏁?huì)導(dǎo)致更多的工作。特別是在finalize調(diào)用中永遠(yuǎn)不要釋放資源,因?yàn)橘Y源在被垃圾回收器回收之前可能一直消耗著內(nèi)存。最后這個(gè)問題經(jīng)常會(huì)對(duì)eb效勞器環(huán)境的性能造成消滅性的打擊,因?yàn)樵诘却齠inalize運(yùn)行時(shí),很容易耗盡某個(gè)特定的資源。二、平安性提供了一個(gè)很強(qiáng)健的平安系統(tǒng),我們可以輕松地利用這個(gè)平安系統(tǒng)消除在asp中為eb應(yīng)用程序提供用戶級(jí)別的平安性而編寫的大量代碼。這就意味著你需要編寫較少的代碼可以實(shí)現(xiàn)標(biāo)準(zhǔn)化的平安。1.的配置體系和平安體系net框架提供了一個(gè)豐富又靈敏的配置系統(tǒng),使得應(yīng)用程序開發(fā)及管理人員可以在整個(gè)應(yīng)用程序、站點(diǎn)和計(jì)算機(jī)中

9、定義和使用可擴(kuò)展的配置數(shù)據(jù)。其中ahine.nfig為整個(gè)eb效勞器提供配置設(shè)置,每一個(gè)eb應(yīng)用程序根目錄以及各級(jí)子文件夾都可以有自己的名稱為eb.nfig的配置文件。配置文件都是基于xl格式的文本文件,通常用來(lái)保存一些常量或者平安設(shè)置、sql連接字符串和其他常規(guī)的配置數(shù)據(jù)等。每一個(gè)eb.nfig文件只在該文件夾和其子文件夾下起作用,每個(gè)子文件夾的配置繼承父文件夾的的配置,并覆蓋一樣的選項(xiàng)。對(duì)于在eb.nfig中沒有進(jìn)展設(shè)置的屬性,其取值將繼承ahine.nfig中屬性的設(shè)置。假如配置文件被更改,將檢測(cè)到新的配置并自動(dòng)使它起作用,無(wú)需重新啟動(dòng)效勞器。另外,通過配置iis來(lái)保護(hù)各級(jí)eb.nfig

10、配置文件,回絕閱讀器直接url訪問。2.身份驗(yàn)證和受權(quán)策略當(dāng)iis收到用戶懇求時(shí),它首先查看資源是如何受到保護(hù)的。資源可以用匿名訪問保護(hù)大多數(shù)eb站點(diǎn)都是如此,或者用標(biāo)準(zhǔn)的本地或活動(dòng)目錄證書保護(hù)。接下來(lái),iis通過標(biāo)準(zhǔn)的訪問控制列表al查看用戶對(duì)懇求的資源是否有訪問權(quán)限。假如任一項(xiàng)檢查失敗,iis甚至在懇求到達(dá)之前就回絕它。在上述過程中發(fā)生了兩件事。用戶身份驗(yàn)證,然后被受權(quán)。假如一個(gè)資源被懇求,iis對(duì)懇求進(jìn)展了身份驗(yàn)證并受權(quán),下一步是由提供它自己的身份驗(yàn)證和受權(quán)。這為開發(fā)人員自定義的身份驗(yàn)證提供了根底構(gòu)造,不必從頭開發(fā)一個(gè)平安根底構(gòu)造。在應(yīng)用程序中為驗(yàn)證用戶身份提供了三種方法:(1)inds

11、身份驗(yàn)證inds身份驗(yàn)證提供了與傳統(tǒng)的inds賬號(hào)或者是活動(dòng)目錄賬號(hào)或者是本地賬號(hào)相似的集成。該形式的工作方式和正常的iis身份驗(yàn)證一樣。在這種形式下,要禁用對(duì)你站點(diǎn)的匿名訪問,以保護(hù)你的站點(diǎn)不被未受權(quán)用戶侵入。然后要更新eb.nfig文件,指定身份驗(yàn)證形式為inds身份驗(yàn)證,并指定應(yīng)該使用用戶被iis質(zhì)詢時(shí)輸入的證書作為該應(yīng)用程序的證書。inds身份驗(yàn)證是最快的身份驗(yàn)證形式,因?yàn)樗蕾囉趇is形式,因?yàn)槟悴荒芸刂频卿涰?yè)面形式的證書來(lái)源并且該形式要求通過網(wǎng)絡(luò)訪問inds證書來(lái)源,這就意味著它不非常合適于公共的eb應(yīng)用程序,因?yàn)槟悴荒芸刂瓶蛻舳嘶蚓W(wǎng)絡(luò)訪問。(2)frs身份驗(yàn)證frs身份驗(yàn)證允許開

12、發(fā)人員生成他們自己的標(biāo)準(zhǔn)登錄頁(yè)面,并根據(jù)eb.nfig文件中的條目進(jìn)展身份驗(yàn)證,或者使用他們自己的身份驗(yàn)證文件。frs身份驗(yàn)證是可自定義性最強(qiáng)的身份驗(yàn)證方法。因?yàn)槟憧梢钥刂粕矸蒡?yàn)證文件和方法。和inds身份驗(yàn)證不同的是frs身份驗(yàn)證要求單獨(dú)訪問證書來(lái)源即使證書存儲(chǔ)在eb.nfig中。應(yīng)盡量簡(jiǎn)化身份驗(yàn)證例程,并去除總想包括在內(nèi)的外部元素像檢索個(gè)性化設(shè)置、用戶圖片等。這些工作只能放在其他時(shí)間來(lái)作,它們只會(huì)延緩登錄進(jìn)程。(3)passprt身份驗(yàn)證passprt身份驗(yàn)證允許你把你的應(yīng)用程序和irsftpassprt效勞集成在一起。該形式的根本工作方式是當(dāng)檢測(cè)一個(gè)未進(jìn)展身份驗(yàn)證的懇求時(shí),把登錄證書從一個(gè)passprt登錄窗口在eb效勞器上安裝passprt效勞時(shí)也安裝該登錄窗口發(fā)送到passprt效勞。passprt身份驗(yàn)證是最慢的身份驗(yàn)證方法,因?yàn)闉榱蓑?yàn)證證書,它要求通過internet進(jìn)展eb效勞類型的通信。passprt方法也是有前途的,因?yàn)橛脩糁灰涀∫惶鬃C書就能登錄到受passprt保護(hù)的eb站點(diǎn)中。三、完畢語(yǔ)對(duì)網(wǎng)站來(lái)說,性能和平安性非常重要。提供了假設(shè)干新的策略和編程方式,在信息產(chǎn)業(yè)高速開展的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論