domingo, 3 de junho de 2012

Operation is not valid due to the current state of the object.

Fala, Galera!!

Essa semana me deparei com o seguinte erro ao tentar exportar dados de um gridview para excel: Operation is not valid due to the current state of the object.

A princípio achei que o problema estivesse na exportação dos dados para o excel. Wrong!

Existem alguns relatos, não confirmados pela Microsoft, de que uma atualização de segurança limita em 1000 o número de campos permitidos durante o postback de uma página.

O que faz todo sentido diante do comportamento do erro. Quando faço testes com uma massa menor de dados, o erro não ocorre. Quando aumento a massa de dados o erro passa a ocorrer. 

A solução é simples. Basta adicionar a seguinte linha no web.config na seção "AppSettings":

<add key="aspnet:MaxHttpCollectionKeys" value="2001" />
A linha acima aumenta para 2001 o número de campos permitidos durante o postback.
Mais informações podem ser encontradas no post abaixo:
http://stackoverflow.com/questions/8684049/asp-net-ms11-100-how-can-i-change-the-limit-on-the-maximum-number-of-posted-for

Um abraço e até a próxima!!