当前位置: 代码迷 >> VC >> 服务器下运行出错System.InvalidOperationException
  详细解决方案

服务器下运行出错System.InvalidOperationException

热度:6789   发布时间:2013-02-25 00:00:00.0
服务器上运行出错System.InvalidOperationException
当进行导出gridview的数据到excel的操作的时候,出现错误


由於該物件目前的狀態,導致作業無效。  
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。 

例外詳細資訊: System.InvalidOperationException: 由於該物件目前的狀態,導致作業無效。

原始程式錯誤: 
 在執行目前 Web 要求期間,產生未處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。 


堆疊追蹤: 
 
[InvalidOperationException: 由於該物件目前的狀態,導致作業無效。]
? System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() +4141103
? System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +60
? System.Web.HttpRequest.FillInFormCollection() +189

[HttpException (0x80004005): URL 編碼型式資料無效。]
? System.Web.HttpRequest.FillInFormCollection() +11095544
? System.Web.HttpRequest.get_Form() +119
? System.Web.HttpRequest.get_HasForm() +11089143
? System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +124
? System.Web.UI.Page.DeterminePostBackMode() +83
? System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +270





但是我在本地测试相同数据是没有问题的,而且服务器端也是有的数据导出有问题,而有的数据导出却没问题,请高手帮忙啊

具体内容也可以参考帖子http://topic.csdn.net/u/20120106/10/8fc80c3a-b60e-497d-9241-768b7336cec0

------解决方案--------------------------------------------------------
我找到解决方案了:
ThrowIfMaxHttpCollectionKeysExceeded()
问题在这里.
出现这个异常的原因正是因为上年12月29号那次微软发布的最后一次非正常更新程序引起的.在这次安全更新中对于asp.net单次的提交量做了一个最大量限制1000,出现这个异常正是因为页面提交量超过了1000这个限制.这个可以在web.config中更改:
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
</appSettings>
这个也是我在一个国外网站上找到的.在我的项目中已经得到解决.给分吧,呵呵
  相关解决方案