2012-01-23 13 views
20

Al intentar depurar un error aleatorio en una página bastante compleja de ASP.net, hay una gran cantidad de ADO.net MS-SQL que es donde comencé solución de problemas. Sin embargo, hasta ahora no he podido reducirlo. Lo curioso es que cuando depuro el código localmente en VS (contra la misma conexión DB) no obtengo un error. Sin embargo, cuando el código se ejecuta contra IIS arroja el siguiente error. ¿Alguien encontró algo similar?Error de ASP: la operación no es válida debido al estado actual del objeto

Error de origen:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Seguimiento de la pila:

[InvalidOperationException: Operation is not valid due to the current state of the object.] 
System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +11368719 
System.Web.HttpRequest.FillInFormCollection() +329 

[HttpException (0x80004005): The URL-encoded form data is not valid.] 
    System.Web.HttpRequest.FillInFormCollection() +11482818 
    System.Web.HttpRequest.get_Form() +157 
    System.Web.HttpRequest.get_HasForm() +11483620 
    System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +141 
    System.Web.UI.Page.DeterminePostBackMode() +100 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +259 

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272 

Respuesta

51

Podría ser en relación con this issue? Una solución sugerida es añadir lo siguiente en su web.config:

<appSettings> 
    <add key="aspnet:MaxHttpCollectionKeys" value="2000" /> 
</appSettings> 

de Scott Gu también blogged acerca de esta vulnerabilidad descubierta en ASP.NET.

+0

No voy a estar seguro hasta que vuelvo allí, sin embargo, creo que este es el problema, ya que la página es muy compleja, y sé que el administrador del sistema actualizó recientemente el servidor. ¿Era este el parche para el exploit oracle exploding? –

+2

@bumble_bee_tuna, no, este no es el oráculo de relleno. Es nuevo. –

+2

Guau, año malo para la seguridad de ASP, lol. Gracias por la visión que tenía el potencial de causarme un poco de dolor de cabeza. Voy a marcar como respuesta porque todos los signos apuntan a eso. El código funcionó bien durante meses, el servidor acaba de parchear, la página compleja es muy grande. Gracias de nuevo Darin –

Cuestiones relacionadas