401 Restituito per ogni quinta chiamata in un'applicazione ASP.NET MVC che restituisce JSON
-
22-07-2019 - |
Domanda
Questo è pazzesco.
Ho un'applicazione ASP.NET MVC che utilizza l'autenticazione di Windows che, tra le altre cose, interagisce con una serie di componenti Javascript ExtJ restituendo loro i dati JSON.
Il problema è che anche dopo che l'utente è stato autenticato con successo, ogni quinta richiesta per acquisire alcuni dati JSON da MVC si traduce in DUE "401 Non autorizzato". risposte seguite da un "200 OK" risposta. Ancora una volta, questo accade ogni 5a chiamata ... perché? Non ne ho idea.
È interessante notare che ogni risposta contiene il JSON previsto !!!
Qualcun altro ha questo comportamento o ha qualche idea sul perché sta accadendo?
Grazie - wg
Soluzione
Sembra che l'autenticazione di Windows funzioni in base alla progettazione:
Come posso interrompere 401 risposte da TFS 2008
Ho avuto lo stesso problema con un'applicazione ASP.NET MVC in esecuzione su IIS 6, ma utilizzando l'autenticazione Forms. Mi ha fatto impazzire fino a quando ho capito che il nostro server è configurato per l'autenticazione tramite NTLM per ogni richiesta, dal momento che è un server Intranet interno. Quindi è davvero un problema, dal momento che la richiesta viene elaborata correttamente dopo la risposta 200 e non sembra affatto ridurre i tempi di caricamento.
Altri suggerimenti
Mi è successo una volta, e nel mio caso, è stato perché la mia cartella web virtuale utilizzava due diversi metodi di autenticazione: Autenticazione di Windows e autenticazione di base.
Ogni tanto IIS tentava di autenticare l'utente utilizzando l'autenticazione di Windows anziché l'autenticazione HTTP di base che avevo intenzione di utilizzare (ciò è accaduto soprattutto in Internet Explorer) e restituiva un messaggio "Non autorizzato". risposta.
Prova a disabilitare i metodi di autenticazione che non stai utilizzando e guarda cosa succede.