SignalR: Fehler während der Verhandlung Anfrage: undefined
Ich habe versucht, eine javascript-signal-r-client arbeiten gegen eine self-hosted-owin-server. Und bin mit in dieser Ausgabe. Ich habe versucht, sowohl die Proxy und kein proxy Methoden mit dem gleichen Ergebnis der and-error "SignalR: Fehler während der Verhandlung Anfrage: undefiniert".
Habe ich in der Lage, um die cross-domain Probe laufen ohne Probleme und kann nicht herausfinden, was mache ich falsch, jemand eine Idee?
Browser console wird protokolliert ein Versuch, zu verhandeln, dann bekomme ich den Fehler.
Server/Hub
namespace SignalROwinHost
{
class Program
{
static void Main(string[] args)
{
string url = "http://localhost:9000/";
using (WebApplication.Start<Startup>(url))
{
Console.WriteLine("Server running on {0}", url);
Console.ReadLine();
}
}
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapHubs();
}
}
public class ChatHub : Hub
{
public void Send(string message)
{
Clients.All.send(message);
}
}
}
}
Javascript(kein proxy):
<script type="text/javascript">
$(function () {
var connection = $.hubConnection('http://localhost:9000');
var chat = connection.createHubProxy('chatHub');
chat.on('send', function (message) {
$('#chat').html($('#chat').html() + "\r\n" + message);
});
connection.logging = true;
connection.start().done(function () {
alert("Connection Complete");
$('#sendBtn').click(function () {
chat.invoke('send', $('#message').val());
});
}).fail(function (param) { alert(param); });
});
</script>
Javascript (proxy):
<script src="http://localhost:9000/signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var chat = $.connection.chatHub;
chat.client.send = function (message) {
alert(message);
};
$.connection.hub.logging = true;
$.connection.hub.url = "http://localhost:9000/signalr";
$.connection.hub.start()
.done(function (param) {
chat.server.send("Connected");
})
.fail(function (param) {
alert("Could not Connect: " + param);
});
});
</script>
InformationsquelleAutor JMorgan | 2013-02-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit SignalR 1.0.0 (und das sollten Sie, da es nun offiziell veröffentlicht), müssen Sie ändern Sie Ihren Aufruf
MapHubs
zu ermöglichen cross-domain-requests. Dieser ist-vorausgesetzt, Ihre website ist nicht serviert von localhost:9000. Ich vermute, es ist nicht da, den Sie übergeben, die in der url$.hubConnection
.Vor dem release von 1.0.0, CORS wurde standardmäßig aktiviert.
InformationsquelleAutor halter73