Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

224
Visualizações
¿Cómo definir dónde se ralentiza la función?

Tengo una vista de informe donde se encuentran un montón de controles, hay un código de ejemplo:

 @Html.DevExpress().DropDownEdit( settings =>{ settings.Name = "SomeList"; settings.Width = 100; settings.SetDropDownWindowTemplateContent(c =>{ @Html.DevExpress().ListBox( ... ).BindList(ViewData["SomeList"]).Render(); some code... ).GetHtml()

Cuando se procesa por primera vez, funciona bien, pero en la lógica comercial hay otro menú desplegable, llamémoslo menú desplegable #2. Cuando el usuario selecciona algunos valores en el menú desplegable # 2, JS maneja esta acción, envía una solicitud al servidor para obtener el valor real para el primer menú desplegable, luego borra todos los valores representados del menú desplegable # 1 e inserta nuevos elementos.

Y el problema en el rendimiento radica en cómo devexpress crea nuevos elementos en el lado del cliente. Desde el backend, ahora se pueden agregar 8000 elementos nuevos al menú desplegable n. ° 1 y sigue creciendo. Y el usuario debe esperar de 5 a 10 segundos cuando el navegador lo procesa. Traté de investigar qué sucede cuando se crea un nuevo elemento, pero hay muchas funciones de devexpress que llaman a otras funciones.

El código JS se parece a:

 SomeList.BeginUpdate(); l = data.SomeList.length; while (x < l) { SomeList.AddItem(data.SomeList[x].Name, data.SomeList[x].Id); x++; } SomeList.EndUpdate();

BeginUpdate y EndUpdate son funciones devexpress que prohíben el control de procesamiento del navegador al agregar nuevos elementos. Sin esta función se tarda una eternidad en terminar de agregar nuevos elementos. Sé que el punto de inicio del problema es: código de creación de elementos SomeList.AddItem (...).

Entonces, mi pregunta: ¿hay alguna forma de hacer algo como console.trace(SomeList.AddItem(...)) y ver el seguimiento completo que se ejecutará en el primer pase de código?

¿También hay forma de determinar qué llamada de función tarda mucho tiempo en ejecutarse?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda