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 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

Schreibe einen Kommentar