首页 > 解决方案 > SignalR Asp.Net 核心中来自服务器的无休止响应

问题描述

我猜我编程有点错误,所以当我从客户端调用集线器的 func 时,它会无休止地进入,并且服务器会以大约半秒的间隔得到无休止的响应。所以那是客户的代码,我想问题不在于它。

  <input type="text" id="inputMessage"/>
  <button class="submit" id="sendButton"></button>

///////////////////////////////////////// /////////////////////////////////

 let hubUrl = "/Chat";
const hubConnection = new signalR.HubConnectionBuilder()
    .withUrl(hubUrl)
    .build();


     hubConnection.on("Receive", function (message, userName) {
    //some html stuff, just putting message and userName into divs
});

document.getElementById("sendButton").addEventListener("click", function (e) {
    let userName = "@User.Identity.Name";
    let message = document.getElementById("inputMessage").value; 
    hubConnection.invoke("Send", message, userName);
});

hubConnection.start();

这就是我的 ChatHub:

    public class ChatHub : Hub {
    public async Task Send(string message, string username)
    {
        await this.Clients.All.SendAsync("Receive", message, username);
    }
}

我调试了我的代码,它显示当它进入发送(字符串消息,字符串用户名)时,它会无休止地执行它。 这就是我得到的。 如您所见,左侧有很多相同的响应,但应该只有一个。

标签: c#asp.netsignalr

解决方案


问题出在我添加的一些脚本中。

<script src='//production-assets.codepen.io/assets/editor/live/console_runner-079c09a0e3b9ff743e39ee2d5637b9216b3545af0de366d4b9aad9dc87e26bfd.js'></script>

<script src='//production-assets.codepen.io/assets/editor/live/events_runner-73716630c22bbc8cff4bd0f07b135f00a0bdc5d14629260c3ec49e5606f98fdd.js'></script>

<script src='//production-assets.codepen.io/assets/editor/live/css_live_reload_init-2c0dc5167d60a5af3ee189d570b1835129687ea2a61bee3513dee3a50c115a77.js'></script>

那些引起了我的问题。


推荐阅读