Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda