2016-07-03 39 views
8

mam signalR websocket pokazać powiadomienieudało się połączyć błąd signalR podczas websocket kodu handshake: 400

kodu do podłączenia jak:

$.connection.hub.start().done(function(){ 
    console.log("connected"); 
}); 

var notif = $.connection.notificationHub; 
console.log(notif); 

po wdrożeniu do signalR serwerze produkcyjnym nie pracuje i pokazano ten błąd w konsoli: console errpr

serwer produkcyjny używa iis 8.5 co powoduje ten błąd? Dziękuję Ci.

+1

Prawdopodobny duplikat [SignalR: Błąd podczas uzgadniania WebSocket: nieoczekiwany kod odpowiedzi: 400] (http://stackoverflow.com/questions/23130152/signalr-error-during-websocket-handshake-nexpected-response-code-400) –

+0

Czy używasz .netcore? – jeanfrg

Odpowiedz

1

Czy masz ten znacznik w swoim pliku web.config w obrębie znacznika <system.web>?

<httpRuntime maxRequestLength="40960" targetFramework="4.5" requestValidationMode="2.0" /> 

Jeśli to nie zadziała spróbuj braku nad do long polling zamiast WebSockets w SignalR i sprawdzić, czy masz ten sam błąd.

+0

to działa dla mnie, ale nie mogłem sobie wyobrazić dlaczego. Czy masz jakieś myśli o tym, co się tam dzieje? Odkryłem, że pod maskownicą middleware z signalr spróbuj przeanalizować żądanie tokenu uwierzytelnienia i nie udało się, ale nie mógł uzyskać więcej szczegółów –