2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

驗(yàn)證視圖狀態(tài) MAC 失敗解決方法

 XXG學(xué)習(xí)園 2012-06-23

驗(yàn)證視圖狀態(tài) MAC 失敗。如果此應(yīng)用程序由網(wǎng)絡(luò)場(chǎng)或群集承載,請(qǐng)確保 <machineKey> 配置指定了相同的 validationKey 和驗(yàn)證算法。不能在群集中使用 AutoGenerate。  

運(yùn)行時(shí)提示錯(cuò)誤:

驗(yàn)證視圖狀態(tài) MAC 失敗。如果此應(yīng)用程序由網(wǎng)絡(luò)場(chǎng)或群集承載,請(qǐng)確保 <machineKey> 配置指定了相同的 validationKey 和驗(yàn)證算法。不能在群集中使用 AutoGenerate。

StackTrace:   在 System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError)

   在 System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)

   在 System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState)

   在 System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState)

   在 System.Web.UI.HiddenFieldPageStatePersister.Load()

   在 System.Web.UI.Page.LoadPageStateFromPersistenceMedium()

   在 System.Web.UI.Page.LoadAllState()

   在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   在 System.Web.UI.Page.ProcessRequest()

   在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)

   在 System.Web.UI.Page.ProcessRequest(HttpContext context)

   在 ASP.pcpf_login_login_aspx.ProcessRequest(HttpContext context) 位置 d:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\famsweb\d5e90b06\537ccf9e\App_Web_login.aspx.d2f46862.6plrloiq.0.cs:行號(hào) 0

   在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

出現(xiàn)問題原因:自己還是不是很清楚,應(yīng)該是在本機(jī)同是使用虛擬主機(jī)訪問造成的問題

解決方案:

在web.config里配置

<pages  enableViewStateMac="false"></pages>

添加到<system.web>配置節(jié)。

這種方法自己試驗(yàn)過,可以

 

還有人說:(這種方法沒試,不知道可不可以)

查下MSDN就明白了,validationKey和decryptionKey的默認(rèn)值是AutoGenerate,由系統(tǒng)隨機(jī)生成密鑰,如果在本地或者使用的是獨(dú)立主機(jī)通常不會(huì)有什么問題,但是使用虛擬主機(jī),一臺(tái)服務(wù)器上有多個(gè)虛擬主機(jī)存在時(shí)就會(huì)出現(xiàn)以上問題,MSDN中也特別指出不能在群集中使用 AutoGenerate應(yīng)該指定固定的密鑰值,至此真相水落石出,立刻在web.config中添加關(guān)于machineKey的配置項(xiàng),并手動(dòng)設(shè)置其中的密鑰值,這里請(qǐng)注意,不同加密算法對(duì)于密鑰的最大字符長(zhǎng)度是不同的,在這里能夠使用的有AES,DES,3DES,SHA1,MD5,我只知道DES的密鑰字符長(zhǎng)度為16,3DES長(zhǎng)度為48,手動(dòng)設(shè)置時(shí)密鑰長(zhǎng)度必須等于其最大長(zhǎng)度,否則會(huì)出錯(cuò)!至于密鑰的16進(jìn)制值可以隨便輸入。

參考的matchineKey配置:

<system.web>

    <machineKey validation="3DES" validationKey="319B474B1D2B7A87C996B280450BB36506A95AEDF9B51211" decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A87" decryption="3DES"/>

加密位md5,32位時(shí)<machineKey validationKey="C3DD5E21134BDCAF7D951A2ED8E45F7E7395A8CEBAA6A43A8D8528A85B9AB00D"

decryptionKey="ADCBCFC864936D0248917F2CF276E6F392F5A202F1DB53D9" validation="MD5" />

     </system.web>

    本站是提供個(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)論公約

    類似文章 更多