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

358
Visualizações
Acceda al objeto Blazor [] desde Javascript sin pasar datos a través de una llamada no ordenada

Solo quiero resaltar que he estado en esto durante aproximadamente una semana y soy nuevo en el manejo del montón y los punteros y no he tenido que interactuar directamente con ellos antes. Realmente me vendría bien algo de ayuda ya que no he hecho ningún progreso.

Declaración del problema: necesito acceder a un objeto [] que creé en el lado de Blazor desde Javascript sin el uso de la llamada JSUnmarshalled de Blazor para pasar los datos.

¿Por qué? El uso de la llamada JSUnmarshalled sigue siendo demasiado lento para el tamaño del objeto [], aunque solo se necesitan 0,25 ms (sí, 0,25 ms) para crear realmente la matriz completa. La matriz tarda 2 segundos en pasar a JS. Esto es un problema porque estoy haciendo ajustes rápidamente en función de la entrada del usuario y la mayor parte del tiempo se dedica a esperar a que se transfieran los datos, lo que provoca una mala experiencia del usuario.

Lo que estoy haciendo actualmente:

lado c#

 JSUnmarshalledRuntime.InvokeUnmarshalled<object[], object>("InitializeGeometry", RenderModel.GetCombined());

InitializeGeometry llama a esta función JS para procesar el objeto[]

Lado JS

 function getInt32Heap(data) { var m = data + 12; var r = Module.HEAP32[m >> 2] return Array.from(new Int32Array(Module.HEAP32.buffer, m + 4, r));}

Esto está funcionando bien, pero es bastante lento. Lo que he tratado de encontrar es una forma de crear un puntero para el objeto [] en el lado de Blazor y luego pasarlo a JS. Luego, en el lado de JS, descubra cómo usar ese puntero para obtener los mismos datos que estoy obteniendo actualmente.

Me comuniqué con el equipo de .Net y esta es mi pregunta original. https://github.com/dotnet/aspnetcore/issues/41490

Esto es lo que he revisado https://github.com/dotnet/aspnetcore/blob/main/src/Components/Web.JS/src/Rendering/RenderBatch/SharedMemoryRenderBatch.ts

También encontré esto https://github.com/SteveSandersonMS/BlazorInputFile/blob/db10236b049ea05de28de9b7806447a3c84c8465/BlazorInputFile/wwwroot/inputfile.js#L113

Y esto https://blog.elmah.io/using-js-object-references-in-blazor-wasm-to-wrap-js-libraries/?msclkid=9826568bcf8d11ecbdab91d116441786

Nuevamente, soy nuevo en esto, por lo que las respuestas pueden estar aquí, pero no las estoy viendo. Sé que esto se debe a mi falta de comprensión, pero hasta ahora no he leído nada que me ponga las cosas en perspectiva. ¡Cualquier ayuda sería muy apreciada!

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