第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我剛剛發(fā)現(xiàn)了所有ASP.NET網(wǎng)站速度慢的原因,我正在想辦法解決這個問題。

我剛剛發(fā)現(xiàn)了所有ASP.NET網(wǎng)站速度慢的原因,我正在想辦法解決這個問題。

紫衣仙女 2019-07-03 11:12:43
我剛剛發(fā)現(xiàn)了所有ASP.NET網(wǎng)站速度慢的原因,我正在想辦法解決這個問題。我剛剛發(fā)現(xiàn)ASP.NETWeb應(yīng)用程序中的每個請求在請求開始時都會獲得一個會話鎖,然后在請求結(jié)束時釋放它!如果你失去了這方面的影響,就像最初對我一樣,這基本上意味著以下幾點(diǎn):任何時候,ASP.NET網(wǎng)頁都需要很長時間來加載(可能是由于數(shù)據(jù)庫調(diào)用緩慢或其他原因),用戶決定要導(dǎo)航到另一個頁面,因?yàn)樗麄儏捑肓说却麄儾荒?!ASP.NET會話鎖強(qiáng)制新頁請求等待,直到原始請求完成其緩慢的加載。阿羅。當(dāng)UpdatePanel加載緩慢時,用戶決定在UpdatePanel完成更新之前導(dǎo)航到另一個頁面.他們不能!ASP.NET會話鎖強(qiáng)制新的頁請求等待,直到原始請求完成其痛苦的緩慢加載。雙重阿羅!那么有什么選擇呢?到目前為止,我已經(jīng)想出:實(shí)現(xiàn)ASP.NET支持的自定義SessionStateDataStore。我還沒有找到太多可以復(fù)制的東西,而且似乎風(fēng)險(xiǎn)很高,而且很容易搞砸。跟蹤所有正在進(jìn)行的請求,如果來自同一用戶的請求來自同一個用戶,則取消原始請求??雌饋碛悬c(diǎn)極端,但它會起作用的(我想)。不要用會話!當(dāng)我需要用戶某種狀態(tài)時,我可以使用Cache代替,以及通過身份驗(yàn)證的用戶名上的關(guān)鍵項(xiàng),或者其他類似的東西。又有點(diǎn)極端了。我真不敢相信ASP.NETMicrosoft團(tuán)隊(duì)會在4.0版的框架中留下如此巨大的性能瓶頸!我漏掉了什么明顯的東西嗎?在會話中使用線程安全集合有多難?
查看完整描述

3 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個贊

如果您的頁面不修改任何會話變量,則可以選擇退出大多數(shù)此鎖。

<% @Page EnableSessionState="ReadOnly" %>

如果您的頁面沒有讀取任何會話變量,則可以選擇完全退出該頁的此鎖。

<% @Page EnableSessionState="False" %>

如果您的頁面沒有使用會話變量,只需關(guān)閉web.config中的會話狀態(tài)即可。

<sessionState mode="Off" />

我很好奇,如果不使用鎖,您認(rèn)為“線程安全集合”會做什么來實(shí)現(xiàn)線程安全?

編輯:我可能應(yīng)該解釋一下我所說的“選擇退出大部分鎖”。任意數(shù)量的只讀會話或非會話頁都可以同時處理給定會話,而不會相互阻塞。但是,在所有只讀請求完成之前,讀寫會話頁無法開始處理,并且在運(yùn)行時,它必須具有對該用戶會話的獨(dú)占訪問權(quán)限,以保持一致性。鎖定單個值將不起作用,因?yàn)槿绻粋€頁面將一組相關(guān)值作為一個組進(jìn)行更改,該怎么辦?如何確保同時運(yùn)行的其他頁面將獲得用戶會話變量的一致視圖?

如果可能的話,我建議您嘗試在會話變量設(shè)置之后盡量減少對它們的修改。這將允許您使您的頁面的大部分只讀會話頁,增加了多個同時來自同一用戶的請求不會彼此阻塞的機(jī)會。


查看完整回答
反對 回復(fù) 2019-07-03
  • 3 回答
  • 0 關(guān)注
  • 1258 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號