2008-10-04 10 views
5

Estamos ejecutando .NET 3.5 SP1.Sin memoria - Infinite Loop - ASP.NET AJAX Framework

Recientemente, en IE, algunos de nuestros usuarios comenzaron a recibir errores de "Memoria insuficiente" de vez en cuando. Esto no sucede todo el tiempo. Logré replicarlo un par de veces y encontré que este código, del archivo AjaxControlToolkit.Common.Common.js, estaba causando un bucle infinito: AjaxControlToolkit.TextBoxWrapper.registerClass ('AjaxControlToolkit.TextBoxWrapper', Sys.UI. comportamiento); AjaxControlToolkit.TextBoxWrapper.validatorGetValue = función (id) {var de control = $ get (id); si (control & & control.AjaxControlToolkitTextBoxWrapper) { retorno control.AjaxControlToolkitTextBoxWrapper.get_Value();} AjaxControlToolkit retorno .TextBoxWrapper._originalValidatorGetValue (id);}

La última línea (que llama a _originalValidatorGetValu e) básicamente devuelve la llamada a esta función una y otra vez porque control.AjaxControlToolkitTextBoxWrapper no está definido.

La función definida más arriba es AjaxControlToolkit.TextBoxWrapper.get_Wrapper (control) y se podría usar para crear el contenedor si no existe, pero no tengo la sensación de querer cambiar el marco si Soy el único que ha visto este error en la naturaleza.

El error no siempre ocurre. Parece ocurrir cuando la primera URL que se carga contiene un punto de historia AJAX. Si abre una página y juega con ella, lo que causa que se agreguen puntos del historial, funciona bien. Pero si copia y pega la URL en otra ventana del navegador, obtendrá este problema.

Por lo tanto, supongo que estoy haciendo algo mal con el control de historial que no configura los contenedores correctamente. Aun así, parece que hay un ciclo infinito allí.

¿Alguna idea/pistas?

Completé un informe de error en Microsoft Connect. Mientras lo llenaba y probaba varios escenarios, noté que funcionaba bien localmente pero no remotamente. Al comparar mi entorno de producción/desarrollo, noté que CombineScripts era falso localmente. Desplegar eso en mi servidor de producción parece haber resuelto el problema.

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=373171

+0

Estoy teniendo el mismo problema. Solo ocurre en etapas y producción donde hay más de un servidor web. –

Respuesta

1

Si elimina LoadScriptsBeforeUI = 'false' de ScriptManager, este problema está resuelto.

+1

¿Cuáles son sus fuentes con respecto a esta solución? –