欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

“無法驗證數據”原因

系統 2722 0
“System.Web.HttpException: 無法驗證數據”錯誤原因及解決

環境說明:
開發平臺是DOTNET? B/S? .NET Framework 1.1
正式WEB服務器和測試機,均為win2003
原有一個主網站,在六臺WEB服務器做負載均衡。運行比較穩定。
現新開發一個子站,將布署在另三臺WEB服務器上做負載均衡。這個負載均衡設置類似主網站的設置。

解決步驟:
1)子站在測試機測試通過,運行正常。準備布署到正式環境下(三臺WEB服務器)

2)將子站程序拷貝到那三臺WEB服務器上,配置好子站相關配置,開放站點與負載均衡開始測試。

3)測試時,頁面顯示正常,但在觸發服務端事件時出現異常。
錯誤信息“Viewstate is invalid for this page”(此頁的視圖狀態無效)沒有為解決此問題提供足夠信息
同樣的程序為何在測試機運行沒問題,放到正式環境下,就出現異常呢?
在微軟網站要查到這個異常的解釋( http://support.microsoft.com/default.aspx?scid=kb;zh-cn;831150 ),說建議安裝Microsoft .NET Framework 1.1 Service Pack 1。
于是,懷疑沒有裝這個補丁,就查看注冊表項:
項名稱:HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322
SP值為0,表明沒有裝Framework 1.1 Service Pack,
然后去微軟網站下載了.NET Framework 1.1 Service Pack 1和.NET Framework 1.1 Service Pack 1 ASP.NET 安全更新 - Windows Server 2003

4)裝上這兩個補丁后,運行子站程序,在觸發服務端事件時仍舊出現異常。異常如下:
異常詳細信息: System.Web.HttpException: 無法驗證數據。
堆棧跟蹤:
[HttpException (0x80004005): 無法驗證數據。]
[HttpException (0x80004005): Authentication of viewstate failed.? 1) If this is a cluster, edit <machineKey> 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那篇文章看:“應用此修復程序后,視圖狀態錯誤信息標題將變成“Unable to Validate Data”。盡管新的錯誤信息格式沒有對問題進行具體描述,但它比以前的錯誤信息格式提供了更多信息。”
得知應該是ViewState值已被截斷?!
問題就轉化:什么原因導致"ViewState值已被截斷"呢?
因為程序在測試環境下運行沒問題的,那么可能是系統級的問題。
比較一下正式和測試環境:正式環境是三臺Server做負載均衡,而測試環境只一臺Server。

5)將負載均衡設置修改了一下,只開放一臺WEB Server。測試后,發現不出現那個異常。三臺機分別測試,均無異常。
推測:可能是負載均衡設置有問題。于是找來系統管理員,他說,子站的負載均衡設置跟主站一樣的啊。但還是請他再確認一下兩個負載均衡設置的不同之處。
經再次的仔細檢查,發現負載均衡Pool的Persistence Type(進程延續)為None,也就是說服務端不保持連接狀態。這樣,每次服務端事件被觸發時,就會導致"ViewState值已被截斷"。于是將Persistence Type(進程延續)的值改為Simple,Timeout設為600秒。

總結:
程序員不單要寫好程序,也要適當的了解系統。這個問題,不一定會經常遇到,作為一個解決問題的思路,供大家分享。

附:負載均衡一般設三個地方來保證進程延續。首先啟動負載均衡,然后設置“Enable Connection Rebind”為true.最后Persistence Type一般設為Simple再加上超時時間。
注:本人對負載均衡研究甚少,不知其他類似軟件是否也如此設置,其原理應該都差不多。

re: "ViewState值已被截斷"導致[HttpException (0x80004005): 無法驗證數據。] ?2006-08-28 16:40? 造反有理
問題就是出在,iis將生成的viewstate數據加密,加密算法有好幾種,缺省是iis自己選擇的一種,它也會為這個加密自動生成一個密鑰。
當你postback頁面的時候,iis用自動生成的密鑰無法驗證你postback回來的數據,這樣就會產生錯誤了

這個問題,比較容易在使用了負載均衡的幾臺服務器之間出現 。

解決方法很簡單:
在web.config, system.web中, 加入machineKey配置,指定你自己的密鑰或者算法。

“無法驗證數據”原因


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品久久 | 国产精品久久久久影视青草 | 日本黄色一级片视频 | 久草色在线 | 亚洲人天堂 | 久久噜噜噜精品国产亚洲综合 | 日韩一区二区免费看 | 亚洲一区视频在线 | mmmwww| 国产成人免费视频网站视频社区 | www久久爱 | 日韩久久一区二区三区 | 日韩久久精品 | 午夜精品久久久久久久久久久久久 | 国产馆精品推荐在线观看 | 狠狠操操 | 老司机午夜免费精品视频 | 一本一道久久a久久精品蜜桃 | 久久人人爽人人爽 | 国产成人免费视频网站高清观看视频 | 91婷婷色 | 日本玖玖 | 免费一区二区三区免费视频 | 天天爱夜夜做 | 天天色踪合 | 成人av一区 | 国产精品一区在线观看你懂的 | 久久机热| 免费观看一级特黄欧美大片 | 久久精品国产2020 | 亚洲欧美国产精品久久久久久久 | 亚洲国产精品一区二区久久 | 国产高潮久久精品AV无码 | 伊人久久国产精品 | 国产成人一区二区三区电影 | 欧美亚洲另类在线 | 欧美图片激情小说 | 99精品国产免费观看视频 | 中文字幕人成乱码在线观看 | 国产三级做爰在线观看视频 | 一级片 在线播放 |