溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ASP.NET4.0錯誤:Operation is not valid due to the current state of the object

發(fā)布時間:2020-07-12 16:01:08 來源:網(wǎng)絡(luò) 閱讀:2841 作者:achievo_peter 欄目:編程語言

之前,客戶向我們投訴在其站點老遇到這個問題:

ASP.NET4.0錯誤:Operation is not valid due to the current state of the object 

這是我第一次遇到這個奇怪的錯誤提示信息,幸好客戶提供了錯誤日志。

 

2012-08-02 10:47:15,860 [22] ERROR Logger - Operation is not valid due to the current state of the object.

SOURCE: System.Web

TARGETSITE: Void ThrowIfMaxHttpCollectionKeysExceeded()

STACKTRACE: at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()

at System.Web.HttpValueCollection.Add(HttpCookieCollection c)

at System.Web.HttpRequest.FillInParamsCollection()

at System.Web.HttpRequest.GetParams()

at System.Web.HttpRequest.get_Params()

at Accela.ACA.Web.Component.AppSpecInfoTableEdit.GetValueFromHttp(Boolean isAdding, Int32 controlloop, String suffix, String prefix, Int32 groupIndex)

at Accela.ACA.Web.Component.AppSpecInfoTableEdit.GetControlValue(Int32 groupIndex, String prefix, Int32 itemIndex, Int32 rowIndex, String suffix, Boolean isGetRealRowIndex)

at Accela.ACA.Web.Component.AppSpecInfoTableEdit.ShowAppSpecInfoGroup(AppSpecificTableModel4WS appInfoTable, Int32 groupIndex, PlaceHolder phCurrentAppInfoTable, String prefix)

at Accela.ACA.Web.Component.AppSpecInfoTableEdit.Repeater_ItemDataBound(Object sender, DataListItemEventArgs e)

at System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs e)

at System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem)

at System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource)

at System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)

at System.Web.UI.WebControls.BaseDataList.DataBind()

at Accela.ACA.Web.Component.AppSpecInfoTableEdit.Display()

at Accela.ACA.Web.Cap.CapEdit.InitAppSpecTable(String value, CapModel4WS capModel)

at Accela.ACA.Web.Cap.CapEdit.LoadPage(PageModel customPage, CapModel4WS capModel)

at Accela.ACA.Web.Cap.CapEdit.BindPageflowGroup(CapModel4WS capModel4WS, PageFlowGroupModel pageflowGroup)

at Accela.ACA.Web.Cap.CapEdit.OnInit(EventArgs e)

at System.Web.UI.Control.InitRecursive(Control namingContainer)

at System.Web.UI.Page.Proce***equestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

從這段日志去分析,好像是ASP.NET Runtime有意拋出來,也就是說我們應(yīng)該是違反了.NET Framework的某些規(guī)則才導(dǎo)致成這樣。后來我就在網(wǎng)上搜索,找到了根本原因:這是由于NET Framework V4.0在2011年12月29號發(fā)布的一個更新引起的,具體的詳細(xì)情況和解決思路,請參考下面這篇文章:

ASP.NET MS11-100: how can I change the limit on the maximum number of posted form values?

http://stackoverflow.com/questions/8684049/asp-net-ms11-100-how-can-i-change-the-limit-on-the-maximum-number-of-posted-for

 

解決思路:

<appSettings>

<add key="aspnet:MaxHttpCollectionKeys" value="5000" />

</appSettings>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI