Domanda

Il nostro sistema (asp.net) fa parte di un sistema più grande. Viene avviato tramite questo sistema più grande da JavaScript che esegue una chiamata window.open per aprire una nuova finestra.

(a parte, i dati di autenticazione ecc. vengono passati nel nostro sistema tramite un parametro di stringa di query crittografata)

Durante i test con IE7 (sfortunatamente l'organizzazione si è standardizzata su questo) il browser, dopo aver usato il nostro sistema (navigando tra le pagine) per un po '(intermittente), inizierà a non fare richieste di rete. La pressione di F5 fa sì che mostri l'animazione di caricamento, ma in realtà non accade nulla.

Puoi chiudere la nostra finestra e tornare al sistema più grande (nella sua finestra) che funziona ancora bene. Se riavvii il nostro sistema, la nuova finestra si aprirà e sembrerà caricarsi, ma non viene fatta alcuna richiesta (verificata con WireShark). I sistemi si trovano su sottodomini separati.

Ecco la cosa divertente, se avvio Fiddler, tutto inizia a funzionare bene. Non appena chiudo Fiddler, smette di fare richieste di rete.

Il sistema è piuttosto un sistema pesante html / javascript / ajax (1 MB + per pagina), ma ciò non dovrebbe indurre il browser a farlo. Ovviamente Firefox e Chrome funzionano perfettamente :)

L'unico modo per farlo funzionare di nuovo è chiudere tutte le finestre di IE e riavviare.

Ho disabilitato il server proxy, l'ho abilitato, ho fatto praticamente tutto ciò che mi viene in mente.

Qualcuno ha qualche idea?

Aggiorna

Sono riuscito a riprodurlo con il violinista in esecuzione. Inizialmente, quando funziona, posso vedere tutte le richieste in Fiddler. Quando entra nel suo "no-request-made-made" modalità (di nuovo, nota che non cambia nulla, sto solo navigando), non vedo nulla in Fiddler (ovvero nessuna nuova richiesta, niente). Tutte le richieste registrate da fiddler sono state completate, quindi non ci sono connessioni aperte.

Lo stiamo vedendo su quasi tutte le macchine. Dopo aver esplorato circa 15 pagine, questo inizia a succedere. Potrebbe essere una cosa ambientale? La mia macchina di prova è un'installazione vanilla XP con McAfee, IE7. Nient'altro è in esecuzione e nessuna barra degli strumenti è installata in IE.

È stato utile?

Soluzione

Prova a fondere http://www.enhanceie.com/dl/fixHTTPMax.reg per aumentare il limite di connessione HTTP, quindi verificare se il problema impiega ~ 10 volte il tempo necessario.

In tal caso, il problema è che hai riscontrato un problema a causa della perdita di una connessione HTTP e alla fine stai raggiungendo il limite massimo di connessioni per server.

Altri suggerimenti

Attiva il debug di JavaScript in IE e verifica la presenza di errori.

Ti sei messo in difficoltà con le impostazioni proxy automatiche del violinista.

Quando il violinista si avvia, modifica le impostazioni del proxy di IE per puntare al violinista quando il violinista si chiude ripristina le impostazioni del proxy originale.

Se il violinista vede le impostazioni proxy esistenti, utilizzerà quelle nella richiesta che inoltra.

In determinate condizioni di errore puoi rimanere senza fiddler in esecuzione ma le modifiche del proxy fiddler sono ancora in atto nelle impostazioni di IE. Puoi finire con una situazione in cui IE funziona solo quando Fiddler è in esecuzione.

Ripristina le impostazioni proxy di IE.

Modifica

In mancanza del fatto che la causa più probabile è avere richieste in sospeso che non sono state ancora soddisfatte. Avere due di questi e nella configurazione IE predefinita tutte le altre richieste aspetteranno indefinitamente il completamento delle richieste in sospeso. L'accensione del violinista può curare questo per un po 'perché le richieste non vanno direttamente al server. Riesci a riprodurre il problema con il violinista in esecuzione? Vedi le richieste in sospeso nel violinista?

Assicurati di aver impostato connect: chiudi nell'intestazione HTTP quando hai finito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top