SignalR "Fehler während der Verhandlung verlangen"
Ich habe socket-Benachrichtigung in meiner Anwendung die Arbeit toll, wenn ich auch lokal ausführen, aber wenn ich bereitstellen, um meine VM, das es Beschwerden geben wird die folgende Meldung.
Error: Error during negotiation request.
at Object.signalR._.error (jquery.signalR.js:178)
at signalR.fn.signalR.start.onFailed (jquery.signalR.js:644)
at Object.signalR.fn.signalR.start.connection._.negotiateRequest.signalR.transports._logic.ajax.error (jquery.signalR.js:664)
at n.Callbacks.j (jquery.js:3094)
at Object.n.Callbacks.k.fireWith [as rejectWith] (jquery.js:3206)
at x (jquery.js:8261)
at XMLHttpRequest.n.ajaxTransport.k.cors.a.crossDomain.send.b (jquery.js:8600)
Es geht über domains, aber ich glaube, ich habe bekommen Vergangenheit die CORS-Probleme, aber ich könnte falsch sein.
BEARBEITEN
Hier ist die zusätzliche info, dass ich weiß, wird gebeten.
Anfrage:
GET http://path.to.my.vm/api/notifications/emmit/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22testemitter%22%7D%5D&_=1432140840826 HTTP/1.1
Host: path.to.my.vm
Connection: keep-alive
Accept: text/plain, */*; q=0.01
Origin: http://localhost:8100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8100/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en,fr;q=0.8,en-US;q=0.6
Antwort:
HTTP/1.1 500 Internal Server Error
Date: Wed, 20 May 2015 17:01:18 GMT
Server: Mono-HTTPAPI/1.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PUT
Access-Control-Max-Age: 1000
Access-Control-Allow-Headers: x-requested-with, Content-Type, origin,authorization, accept, client-security-token
Content-Length: 0
Connection: close
BEARBEITEN
CORS-Unterstützung-setup auf dem server.
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR("",new HubConfiguration()
{
EnableJavaScriptProxies = true
});
Hast du bis cors-Unterstützung auf dem server? Insbesondere müssen Sie ändern Sie Ihren Aufruf MapHubs zu ermöglichen cross-domain-requests.
Ja, ich habe gerade editiert meinen post. Ich habe die
Bist du sicher, dass das CORS, das das Problem verursacht? Ich würde versuchen, zunächst ohne CORS (z.B. erstellen einer quick-and-dirty-C# - client), um sicherzustellen, dass die app auch wirklich funktioniert. Jetzt könnte es möglicherweise versuchen Sie zu lösen, ein Falsches problem.
Ich habe es lokal einwandfrei. Ich bin nicht sicher, ob seine CORS Fragen oder nicht. Der einzige Unterschied zwischen, wenn diese app funktioniert und nicht, wenn ich bereitstellen, um meine VM, somit hat der Kunde änderungen, wo es macht-API-Aufrufe.
Wie verbinden Sie sich mit der VM-Dienst? Ich habe genau das gleiche problem, wenn über NAT mit port-forwarding. Haben Sie jemals finden Sie heraus, was schief lief?
Ja, ich habe gerade editiert meinen post. Ich habe die
UseCors(CorsOptions.AllowAll)
Bist du sicher, dass das CORS, das das Problem verursacht? Ich würde versuchen, zunächst ohne CORS (z.B. erstellen einer quick-and-dirty-C# - client), um sicherzustellen, dass die app auch wirklich funktioniert. Jetzt könnte es möglicherweise versuchen Sie zu lösen, ein Falsches problem.
Ich habe es lokal einwandfrei. Ich bin nicht sicher, ob seine CORS Fragen oder nicht. Der einzige Unterschied zwischen, wenn diese app funktioniert und nicht, wenn ich bereitstellen, um meine VM, somit hat der Kunde änderungen, wo es macht-API-Aufrufe.
Wie verbinden Sie sich mit der VM-Dienst? Ich habe genau das gleiche problem, wenn über NAT mit port-forwarding. Haben Sie jemals finden Sie heraus, was schief lief?
InformationsquelleAutor TheJediCowboy | 2015-05-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie außerdem sicher, dass WebSockets aktiviert ist, signalr-host. Wenn es ein windows-pc dann prüfen, ob websockets aktiviert ist, in Systemsteuerung->Programme->Aktivieren von Windows-features ein-oder ausschalten.
Wenn es ein windows server, Microsoft bietet eine Schritt-für-Schritt-Anweisungen zum aktivieren von WebSockets http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support.
Ich hatte CORS-setup in Signalr-config, aber immer noch den gleichen Fehler und es stellte sich heraus, dass war mein Problem. Hoffe, es hilft!
InformationsquelleAutor Melvin Iwuajoku
Ich hatte dasselbe problem bei der Verbindung zum signalR-hub von meinem web-Projekt, dann füge ich
zu rewrite-Regeln im web.config-Datei dann signalR-hub wurde erreichbar.
Meine client-hub-Anschluss code ist unten
InformationsquelleAutor cimey