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

385
Visualizações
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) .

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