Mam problemy z nadpisaniami OnConnected i OnDisconnected w moim Hub nie wyzwalającym.SignalR OnConnected i OnDisconnected nie odpalają
Dla celów replikacji, mam bardzo prosty piasta:
public class OnlineHub : Hub
{
public void TestMethod()
{
var a = 1;
}
public override System.Threading.Tasks.Task OnConnected()
{
return Clients.All.connected(Context.ConnectionId, DateTime.Now.ToString());
}
public override System.Threading.Tasks.Task OnDisconnected()
{
return Clients.All.disconnected(Context.ConnectionId, DateTime.Now.ToString());
}
}
i stronę aspx:
<script type="text/javascript">
$(function() {
$("#btn").click(function() {
$.connection.onlineHub.server.testMethod();
});
$.connection.onlineHub.server.connected = function (id, date) {
$("#results").append("connected: " + id + " : " + date + "</br>");
};
$.connection.onlineHub.server.disconnected = function (id, date) {
$("#results").append(("connected: " + id + " : " + date + "</br>");
};
$.connection.onlineHub.connection.start();
});
</script>
używam jQuery 1.6.4 i signalR 1.0.0-alpha2. Metody połączenia i rozłączenia po stronie klienta nie są wykonywane. A jeśli ustawię punkt przerwania w OnConnected lub OnDisconnected, punkty przerwania nie zostaną trafione.
Połączenie jest wykonywane, ponieważ mój TestMethod wywołuje ok i otrzymuję connectionId z połączenia negocjacyjnego signalR.
Jestem pewien, że brakuje mi czegoś prostego.
Z góry dziękuję.
Dzięki za odpowiedź, w tym przypadku sposób, w jaki to robię jest poprawny, ponieważ nie jest to program obsługi jako taki, ale definicja metody, którą może wywołać serwer. Mimo to dzięki. :) – DavidGouge
Jestem prawie pewien, że mam rację! https://github.com/SignalR/SignalR/wiki/SignalR-JS-Client –
To nie działa dla mnie. https://stackoverflow.com/questions/47157099/signalr2-onconnected-not-working-as-per-documentation – Developer