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