Eventi
Campionati mondiali di Power BI DataViz
14 feb, 16 - 31 mar, 16
Con 4 possibilità di entrare, si potrebbe vincere un pacchetto conferenza e renderlo al Live Grand Finale a Las Vegas
Altre informazioniQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Questa sezione fornisce informazioni sugli errori che possono verificarsi durante il tentativo di stabilire una connessione a un hub ASP.NET Core SignalR .
Quando si usano WebSocket e skipNegotiation = true
WebSocket connection to 'wss://xxx/HubName' failed: Error during WebSocket handshake: Unexpected response code: 404
Quando si usano più server senza sessioni permanenti, la connessione può essere avviata in un server e quindi passare a un altro server. L'altro server non è a conoscenza della connessione precedente.
Verificare che il client si connetta all'endpoint corretto. Ad esempio, il server è ospitato in http://127.0.0.1:5000/hub/myHub
e il client sta tentando di connettersi a http://127.0.0.1:5000/myHub
.
Se la connessione usa l'ID e richiede troppo tempo per inviare una richiesta al server dopo la negoziazione, il server:
Per l'errore seguente:
WebSocket connection to 'wss://xxx/HubName' failed: Error during WebSocket handshake: Unexpected response code: 400
Error: Failed to start the connection: Error: There was an error with the transport.
Questo errore è in genere causato da un client che usa solo il trasporto WebSocket, ma il protocollo WebSocket non è abilitato nel server.
Quando si usano WebSocket e skipNegotiation = true
WebSocket connection to 'ws://xxx/HubName' failed: Error during WebSocket handshake: Unexpected response code: 307
Questo errore può verificarsi anche durante la richiesta di negoziazione.
Causa più comune:
UseHttpsRedirection
in Startup
o impone HTTPS tramite la regola di riscrittura url.Possibile soluzione:
.withUrl("https://xxx/HubName")
Codice di stato HTTP 405 - Metodo non consentito
Codice di stato HTTP 0 : in genere un problema CORS , non viene assegnato alcun codice di stato
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:5000/default/negotiate?negotiateVersion=1. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
.WithOrigins(...)
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:5000/default/negotiate?negotiateVersion=1. (Reason: expected 'true' in CORS header 'Access-Control-Allow-Credentials').
.AllowCredentials()
al criterio CORS. Non è possibile usare .AllowAnyOrigin()
o .WithOrigins("*")
con questa opzioneCodice di stato HTTP 413 - Payload troppo grande
Ciò è spesso causato dalla presenza di un token di accesso superiore a 4k.
.AddAzureSignalR(options =>
{
options.ClaimsProvider = context => context.User.Claims;
});
Gli errori di rete temporanei possono chiudere la SignalR connessione. Il server può interpretare la connessione chiusa come disconnessione normale del client. Per ottenere altre informazioni sul motivo per cui un client disconnesso in questi casi raccoglie i log dal client e dal server.
Feedback su ASP.NET Core
ASP.NET Core è un progetto di open source. Selezionare un collegamento per fornire feedback:
Eventi
Campionati mondiali di Power BI DataViz
14 feb, 16 - 31 mar, 16
Con 4 possibilità di entrare, si potrebbe vincere un pacchetto conferenza e renderlo al Live Grand Finale a Las Vegas
Altre informazioni