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

108
Visualizações
Llame al método C # en JavaScript a través de WebAssembly

Para dar algo de contexto, estoy tratando de conectar una aplicación C# existente con un React SPA. El problema es que el código C# incluye algunos cálculos matemáticos realmente difíciles y no puedo volver a escribirlo.

Mi idea era crear una aplicación Blazor WebAssembly, que incluyera el código base existente.

Después de innumerables horas de probar varias soluciones diferentes, descubrí que es posible copiar la carpeta "_framework" de Blazor (generada al compilar el proyecto) en mi carpeta pública de React. Esto me permitió llamar a métodos C# estáticos desde mi código JavaScript. Todo bien hasta ahora, pero desafortunadamente no es posible llamar a métodos no estáticos.

Según este artículo , debería ser posible enviar la instancia de C# a través de IJSRuntime, pero esto no funciona en mi caso. Desde mi perspectiva, parece que IJSRuntime no se inyecta porque el código JavaScript no forma parte de Blazor.

¿Alguien sabe alguna solución para inyectar el IJSRuntime con el entorno React? ¿O hay alguna solución mejor para llamar al código C# desde una aplicación React?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En lugar de pasar por todas estas cosas, ¿por qué no usar una API REST simple? Simplemente puede implementar un punto final que acepte los parámetros (a través de HTTP) y devuelva el resultado. En la mayoría de los casos, esto es mucho más fácil de configurar y mantener que otros enfoques posibles.

Simplemente agregue:

 app.UseEndpoints(endpoints => { endpoints.MapControllers(); });

Luego simplemente cree su controlador, que acepta sus servicios no estáticos en el constructor (a través de la inyección de dependencia) que hace los cálculos y devuelve los valores:

 [ApiController] class MathController : ControllerBase { private readonly MyCalculatorService calculator; MathController(MyCalculatorService calculator) { this.calculator = calculator; } [HttpPost("api/math/my-math")] public async Task<ActionResult<MathResult>> MyMathEndpoint([FromBody] MathInput mathInput) { var result = calculator.GetResult(mathInput); return new JsonResult(result); } }

MathInput y MathResult son solo ejemplos, pero realmente puede usar casi cualquier cosa.

about 4 years ago · Juan Pablo Isaza Relatório
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