Verbindung muss gestartet werden, bevor Daten gesendet werden können. Nennen .start() vor .send()

Ich habe den folgenden code zum aufrufen einer Methode, die auf hub-von der client-Seite

var app = $.connection.myHub;    
$.connection.hub.start().done(function () {         
            $('#mylink').click(function (e) {
                e.preventDefault();

                app.server.myMethod();
            });
    ).fail(function (error) {
            console.log('Invocation of start failed. Error: ' + error)
        });

Dieser code funktioniert gut, aber nach einige Zeit ist vergangen, als ich auf den link wieder, bekomme ich die folgende Fehlermeldung

SignalR: Connection must be started before data can be sent. Call .start() before .send()
  1. Den link click-Ereignis ist bereits in der start().done() also, wenn die Verbindung nicht gestartet ist, wie wird der event-handler link-Klick ist auch ausgelöst.

  2. Wenn dies aufgrund von Verbindungs-timeout, wie kann ich die Ausnahme behandeln und leiten den Benutzer auf die login-Seite.

  3. Warum wird der code innerhalb der .fail() nicht ausgeführt

InformationsquelleAutor ZedBee | 2015-06-03
Schreibe einen Kommentar