gpt4 book ai didi

c# - 当用户连接到集线器类时,公共(public)任务 Connect() 不会触发

转载 作者:行者123 更新时间:2023-11-28 02:45:51 25 4
gpt4 key购买 nike

我有以下集线器类:

public class Dashboard : Hub, IDisconnect, IConnected
{
//Initialize Repoisotries
private IProfileRepository profileRepository;
private ISiteDataRepository siteDataRepository;
private readonly IHubContext matchContext = GlobalHost.ConnectionManager.GetHubContext<MatchMaker>();

//Constructor Injection for profile repository and site data repository
public Dashboard(IProfileRepository repo, ISiteDataRepository siteRepo)
{
profileRepository = repo;
siteDataRepository = siteRepo;
}
public Task Disconnect()
{
return null;
}
public Task Reconnect(IEnumerable<string> connections)
{
return null;
}
public Task Connect()
{
Debug.WriteLine(MatchMaker.onlineUsers.Count);
return null;
}
public void GetUserInfo()
{
Debug.WriteLine(MatchMaker.onlineUsers.Count);
}
}

}

我的信号器包括:

<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script>

我像这样访问它:

$(function () {
//Create the proxy
var Dashboard = $.connection.dashboard;
$.connection.hub.start(function () {
Dashboard.getUserInfo();

});
});

当我调用 Dashboard.getUserInfo() 时,该方法会被调用 find,但 Connect() 方法一开始就不会触发。

最佳答案

当我添加这样的方法时,我发现了问题所在:

$(function () {
//Create the proxy
var Dashboard = $.connection.dashboard;

Dashboard.someMethod = function(message){
}

$.connection.hub.start(function () {
Dashboard.getUserInfo();

});
});

我的 Connect() 函数开始触发,但不知道您需要其中的客户端函数来激活连接。

关于c# - 当用户连接到集线器类时,公共(public)任务 Connect() 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11891873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com