Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

116
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!