1
我有以下轂類:公共任務連接(),當用戶連接到集線器類不點火
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);
}
}
}
我有signalr包括:
<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()
方法首先不會觸發。
是的,你至少需要一個訂閱。這是「優化」,所以你最終不會訂閱你不需要的集線器。 – davidfowl 2012-08-10 03:15:03
我也一直在爲這個問題煩惱。也許這可以添加到wiki? – Lodewijk 2012-08-28 10:04:59