日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

WEB服務(wù)器負(fù)載均衡問題的解決

 昵稱8331 2006-06-01

環(huán)境說明:

開發(fā)平臺(tái)是DOTNET B/S .NET Framework 1.1

正式WEB服務(wù)器和測(cè)試機(jī),均為win2003

原有一個(gè)主網(wǎng)站,在六臺(tái)WEB服務(wù)器做負(fù)載均衡。運(yùn)行比較穩(wěn)定。

現(xiàn)新開發(fā)一個(gè)子站,將布署在另三臺(tái)WEB服務(wù)器上做負(fù)載均衡。這個(gè)負(fù)載均衡設(shè)置類似主網(wǎng)站的設(shè)置。 

解決步驟:

1)子站在測(cè)試機(jī)測(cè)試通過,運(yùn)行正常。準(zhǔn)備布署到正式環(huán)境下(三臺(tái)WEB服務(wù)器) 

2)將子站程序拷貝到那三臺(tái)WEB服務(wù)器上,配置好子站相關(guān)配置,開放站點(diǎn)與負(fù)載均衡開始測(cè)試。 

3)測(cè)試時(shí),頁面顯示正常,但在觸發(fā)服務(wù)端事件時(shí)出現(xiàn)異常。

錯(cuò)誤信息“Viewstate is invalid for this page”(此頁的視圖狀態(tài)無效)沒有為解決此問題提供足夠信息

同樣的程序?yàn)楹卧跍y(cè)試機(jī)運(yùn)行沒問題,放到正式環(huán)境下,就出現(xiàn)異常呢?

在微軟網(wǎng)站要查到這個(gè)異常的解釋(http://support.microsoft.com/default.aspx?scid=kb;zh-cn;831150),說建議安裝Microsoft .NET Framework 1.1 Service Pack 1。

于是,懷疑沒有裝這個(gè)補(bǔ)丁,就查看注冊(cè)表項(xiàng):

項(xiàng)名稱:HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322

SP值為0,表明沒有裝Framework 1.1 Service Pack,

然后去微軟網(wǎng)站下載了.NET Framework 1.1 Service Pack 1和.NET Framework 1.1 Service Pack 1 ASP.NET 安全更新 - Windows Server 2003

4)裝上這兩個(gè)補(bǔ)丁后,運(yùn)行子站程序,在觸發(fā)服務(wù)端事件時(shí)仍舊出現(xiàn)異常。異常如下:

異常詳細(xì)信息: System.Web.HttpException: 無法驗(yàn)證數(shù)據(jù)。

堆棧跟蹤:

[HttpException (0x80004005): 無法驗(yàn)證數(shù)據(jù)。]

[HttpException (0x80004005): Authentication of viewstate failed. 1) If this is a cluster, edit configuration so all servers use the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. 2) Viewstate can only be posted back to the same page. 3) The viewstate for this page might be corrupted.]

再回到831150那篇文章看:“應(yīng)用此修復(fù)程序后,視圖狀態(tài)錯(cuò)誤信息標(biāo)題將變成“Unable to Validate Data”。盡管新的錯(cuò)誤信息格式?jīng)]有對(duì)問題進(jìn)行具體描述,但它比以前的錯(cuò)誤信息格式提供了更多信息。”

得知應(yīng)該是ViewState值已被截?cái)???

問題就轉(zhuǎn)化:什么原因?qū)е?ViewState值已被截?cái)?呢?

因?yàn)槌绦蛟跍y(cè)試環(huán)境下運(yùn)行沒問題的,那么可能是系統(tǒng)級(jí)的問題。

比較一下正式和測(cè)試環(huán)境:正式環(huán)境是三臺(tái)Server做負(fù)載均衡,而測(cè)試環(huán)境只一臺(tái)Server。

 

5)將負(fù)載均衡設(shè)置修改了一下,只開放一臺(tái)WEB Server。測(cè)試后,發(fā)現(xiàn)不出現(xiàn)那個(gè)異常。三臺(tái)機(jī)分別測(cè)試,均無異常。

推測(cè):可能是負(fù)載均衡設(shè)置有問題。于是找來系統(tǒng)管理員,他說,子站的負(fù)載均衡設(shè)置跟主站一樣的啊。但還是請(qǐng)他再確認(rèn)一下兩個(gè)負(fù)載均衡設(shè)置的不同之處。

經(jīng)再次的仔細(xì)檢查,發(fā)現(xiàn)負(fù)載均衡Pool的Persistence Type(進(jìn)程延續(xù))為None,也就是說服務(wù)端不保持連接狀態(tài)。這樣,每次服務(wù)端事件被觸發(fā)時(shí),就會(huì)導(dǎo)致"ViewState值已被截?cái)?。于是將Persistence Type(進(jìn)程延續(xù))的值改為Simple,Timeout設(shè)為600秒。 

總結(jié):

程序員不單要寫好程序,也要適當(dāng)?shù)牧私庀到y(tǒng)。這個(gè)問題,不一定會(huì)經(jīng)常遇到,作為一個(gè)解決問題的思路,供大家分享。

 

附:負(fù)載均衡一般設(shè)三個(gè)地方來保證進(jìn)程延續(xù)。首先啟動(dòng)負(fù)載均衡,然后設(shè)置“Enable Connection Rebind”為true.最后Persistence Type一般設(shè)為Simple再加上超時(shí)時(shí)間。

注:本人對(duì)負(fù)載均衡研究甚少,不知其他類似軟件是否也如此設(shè)置,其原理應(yīng)該都差不多。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多