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

417
Views
Invocar el método SignalR Hub cuando se llama a una función de JavaScript en el lado del cliente

He escrito el siguiente código para establecer la conexión con el servidor SignalR e invocar un método concentrador:

 <script> var connection = new signalR.HubConnectionBuilder().withUrl("/signalRServer").withAutomaticReconnect().build(); connection.start().then( result => { console.log("RealTime connection is now established") }); function ShowMessageAndUpdate(messageId, data){ $('#messageModal').modal('show'); $('#mainTxt').text(data); var formData2 = new FormData(); formData2.append("messageId", messageId); $.ajax({ type: "POST", url: "Messages/UpdateMessageStatus", contentType: false, processData: false, data: formData2, success: function (response) { if (response.success) { console.log("status changed successfully!"); var table2 = $('#table2').DataTable(); table2.ajax.reload(); connection.invoke("MessageUpdate", messageId).catch(function(err){ return console.error(err) }); } else { console.log("status change failed."); } }, error: function (error) { console.log(error); } }); } </script>

El método hub se invoca cuando la respuesta exitosa de jQuery es True . El problema es que la consola no puede establecer una conexión con el concentrador.

Mensajes: 377 Error: no se pudo invocar 'MessageUpdate' debido a un error en el servidor. en H. (signalr.js:1:13973) en LI (signalr.js:1:14804) en XLconnection.onreceive (signalr.js:1:10649) en WebSocket.r.onmessage (signalr.js:1:27565 )

¿Hay algún problema con mi código del lado del cliente?

Actualización: el método en el concentrador es el siguiente:

 public async Task MessageUpdate(int messageId) { int destination = _messageRepository.GetSenderIdByMessageId(messageId); string username = _userRepository.GetUserNameById(destination); var userId = NtoIdMappingTable.GetValueOrDefault(username); await Clients.User(userId.FirstOrDefault()).SendAsync("ReceiveMessageUpdate"); }

El problema está en el lado del cliente, porque el método no se ejecuta durante la depuración. la conexión no se puede establecer correctamente cuando obtiene el parámetro de function(parameter) .

over 4 years ago · Juan Pablo Isaza
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
Virtual assistant