這個異常在頁面數據量小的時候並不會觸發,只在頁面數據量大的情況下才會出現,
異常信息如下:
對象的當前狀態使該操作無效。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.InvalidOperationException: 對象的當前狀態使該操作無效。
源錯誤:
執行當前 Web 請求期間生成了未處理的異常。可以使用下面的異常堆棧跟蹤信息確定有關異常原因和發生位置的信息。
堆棧跟蹤:
[InvalidOperationException: 對象的當前狀態使該操作無效。]
System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() +2692482
System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +61
System.Web.HttpRequest.FillInFormCollection() +148
[HttpException (0x80004005): URL 編碼窗體數據無效。]
...
問題在這里.
出現這個異常的原因正是因為上年12月29號那次微軟發布的最后一次非正常更新程序引起的.在這次安全更新中對於asp.net單次的提交量做了一個最大量限制1000,出現這個異常正是因為頁面提交量超過了1000這個限制.
解決辦法:
這個可以在web.config中增加參數來更改:
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
</appSettings>