2012-04-09 5 views
2

Ich habe einige sehr grundlegende SignalR Code auf dem js Client ausgeführt wird:SignalR Fehler hohe Hub api mit MVC4 mit - "/ echo/aushandeln 404 Not Found Error"

var conn = $.connection("@Url.Content("/echo")"); 

conn.Debug = function (msg) { 
    console.log(msg); 
}; 

conn.start(); 

Dieser Code ausgeführt und arbeitet, mit Ausnahme Ich bekomme einen 404 Fehler. Das JS versucht, auf http://localhost:32344/echo/negotiate zuzugreifen, und es kann es nicht finden. Wenn ich die URL ohne "Verhandeln" drücke, wird die Anfrage abgeschlossen.

Ich hatte keinen Kontakt mit den Global.asax und der Server-Code ist so einfach, wie es nur geht, aber es gibt keine Anrufe auf diesen Code vom Client noch:

public class SpatialHub : Hub 
{ 
    public void Send(string data) 
    { 
     Caller.Debug("sent!"); 
    } 
} 

Irgendwelche Gedanken geschätzt würde. Vielen Dank!

Antwort

4

Sie mischen den clientseitigen Servercode "High level hub" mit der clientseitigen API "low level connection".

Folgen Sie den Schnellstart hier und am Ende Beispiel für jedes beenden:

0

ich sehe, wo ich schief gelaufen ist. Ich suchte nach einer Lösung für ein anderes Problem und vermischte die beiden. Ich habe jedoch gelernt, dass man in hub.start Methodenaufrufe einbeziehen muss, wenn der Methodenaufruf sofort erfolgt:

$.connection.hub.start(function() { 
    myhub.send('test'); 
});