Domanda

Ho un'applicazione Web che sto ospitando e un mio cliente sta segnalando che alcune librerie di Telerik Javascript che sono incluse nel sito (ma non tutte) non funzionano correttamente.

Ciò che sono stato in grado di diagnosticare finora è stato che ad un certo punto al processo, le risorse WebResource.axd che contengono il codice di Telerik JavaScript vengono bloccate. Chiedere al client di navigare direttamente al file AXD stesso con lo stesso querystring sta producendo un messaggio di errore "La connessione al server è stato ripristinato" in Internet Explorer.

Il client ha provato a scaricare quel file da diverse macchine nella loro posizione, nonché una macchina al di fuori del loro firewall e della loro rete e una macchina in esecuzione a casa e ottiene lo stesso errore ogni volta. Hanno provato a utilizzare sia Internet Explorer che Firefox.

Tuttavia, sono in grado di scaricare correttamente lo stesso file sia all'interno della nostra rete di hosting, al di fuori di esso, sia dalla mia connessione a casa.

Secondo i registri IIS, tutti i tentativi registrati di scaricare la risorsa hanno prodotto un risultato OK di 200 HTTP.

Altre cose che sono state tentate:

  • Un collegamento a un 404.axd inesistente (ha dato il messaggio di errore ASP.NET 404 giallo come previsto)
  • Un collegamento a WebResource.axd, ma con una querystring non valida che punta a una risorsa che non esiste (ha dato la ViewState non valida ASP.NET gialla o la stringa di base non valida, come previsto)
  • Un collegamento allo stesso WebResource.axd, ma tramite un'intestazione host diversa (stesso messaggio di errore "reset connection").

Adesso sono in perdita per quello che potrebbe anche essere il problema a questo punto. Il nostro server di hosting ha ospitato dozzine di diverse applicazioni ASP.NET (comprese diverse istanze di quella in questione) per anni e questa è la prima lamentela che ho visto al riguardo.

Sono sicuro al 99% che il problema sia qualcosa alla fine del cliente con una configurazione impropria di firewall o contenuto di router, ma ciò non spiega perché il cliente sta vedendo gli stessi problemi sia al di fuori del firewall che a casa.

Qualche idea su cosa potrebbe andare storto o addirittura quali ulteriori domande porre? Qualcuno ha visto qualcosa anche a distanza?

È stato utile?

Soluzione 2

Non ho mai capito quale fosse il problema, ma l'aggiornamento dei RadControls all'ultimo (Q1'09 Final) sembrava risolvere il problema.

Altri suggerimenti

Se ciò sta accadendo con i classici RadControls per ASP.NET, prova a impostare UseEMBedEdScripts = "FALSE" per i controlli sulla pagina. Ciò li farà servire tutti gli script dalla cartella RadControls (file .js fisici) invece di utilizzare risorse incorporate (WebResource.axd). Naturalmente, devi assicurarti di avere i file di script nella cartella RadControls.

Se ciò sta accadendo con i RadControls per ASP.NET AJAX, gli script di Controls vengono scaricati utilizzando Script Manager (ScripTreSource.axd e non WebResource.axd). In ogni caso, puoi provare a utilizzare Telerik RadScriptManager invece di ASP.NET ScriptManager: questo combinerà e comprimerà tutti gli script in una richiesta.

Infine, puoi chiedere al tuo cliente di scaricare e installare Fiddler per IE o Firebug per Firefox e controllare cosa sta succedendo esattamente con le richieste che falliscono (ad es. Risposta del server, cosa c'è nel corpo di risposta, ecc.).

Eliminare WebResource.axd e ScriptResource.axd dalla pagina, devi farlo

  • Apri l'assumburio correlato usando il riflettore o ilspy e quindi salva i suoi file JS incorporati dalla sezione Risorse.
  • Ora aggiungili come riferimenti a script usando ASP: ScriptManager

Successivamente queste definizioni saranno rese come:

<script src="staticJS1.js" type="text/javascript"></script> 
<script src="staticJS2.js" type="text/javascript"></script> 

E non verrà più bloccato.

<asp:ScriptManager ID="Scriptmanager1" runat="server">
        <Scripts>
            <asp:ScriptReference Name="MicrosoftAjaxWebForms.js" Assembly="System.Web.Extensions"
                Path="~/staticJS1.js" />
            <asp:ScriptReference Name="MicrosoftAjax.js" Assembly="System.Web.Extensions" Path="~/staticJS2.js" />
        </Scripts>
</asp:ScriptManager>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top