SignalR多个客户端事件处理

时间:2019-02-25 11:04:20

标签: javascript signalr

对于javascript,signalR和c#来说都是全新的。

我在客户端有2个要在不同时间调用的函数,我只能触发1个。

JavaScript部分:

var connection = new signalR.HubConnectionBuilder().withUrl("/signalRHub").build();


    connection.on("DisplayCardEvent", function (message) {
        document.getElementById("EventMessage").innerHTML = message;
    });

    connection.on("DisplayCardInfo", function (idCode, givenName, surName){
        document.getElementById("IdCode").innerHTML = idCode;
        document.getElementById("GivenName").innerHTML = givenName;
        document.getElementById("SurName").innerHTML = surName;
    });

    connection.start().catch(err => console.error(err.toString()));

HTML代码:

<div id="EventMessage"></div>
<div id="IdCode"></div>
<div id="GivenName"></div>
<div id="SurName"></div>

在我致电时在服务器端

_hubcontext.Clients.All.SendAsync("DisplayCardEvent", eventName);  

它可以通过替换div框EventName中的内容来完美触发,但是当我调用时:

_hubcontext.Clients.All.SendAsync("DisplayCardInfo", idCode, givenName, surName);

客户端事件永远不会触发。检查浏览器时,它仅将第一个显示为侦听事件。

编辑:设法解决问题。问题是我用来运行应用程序的浏览器以前缓存了javascript文件。当我添加第二个功能时,它从未在浏览器端更新。解决方法是仅删除浏览器缓存。

0 个答案:

没有答案