2010-11-01 27 views
16

Abbiamo rilevato questo errore sporadicamente. Qualcuno sa cosa potrebbe essere?Errore ScriptResources: questa è una richiesta di risorsa script non valida

L'URL dare dalla nostra registrazione degli errori ottenere questo strano URL per questo errore:

http://ourWebSite.com/ScriptResource.axd?d=-TlQhVhw2O9j_FRLgdQvFzJxWKYVH6aV62Jse0uO_9PoMsQJaDGiZYtRoBbTATQiWul69JuMDMqOA-yDDycgyNFrGPA_wlnKXZEyWGfJeCg1&t=3717b609

E l'errore è:

Error : This is an invalid script resource request.

Abbiamo anche ottenere il stacktrace:

System.Web.HttpException: questa è una richiesta di risorsa script non valida. a System.Web.Handlers.ScriptResourceHandler.Throw404() a System.Web.Handlers.ScriptResourceHandler.ProcessRequest (HttpContext contesto) a System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext contesto) a System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() a System.Web.HttpApplication.ExecuteStep (IExecutionStep passo, booleano & completedSynchronously)

Cosa potrebbe essere? E come può essere risolto?

risposta

29

Ottengo questo errore abbastanza spesso, facendo qualche ricerca ho trovato il seguente.

  1. Se si dispone di una web farm le chiavi della macchina potrebbero non essere messa a punto, se questo è il caso è possibile risolvere il problema impostando la chiave del computer per ogni server nel Web farm. L'errore può verificarsi anche se la chiave della macchina cambia tra postback che a volte può succedere. Credo che se non si sta utilizzando una web farm, ciò non accade molto spesso. Se hai una web farm questa è la causa più probabile.
    http://msdn.microsoft.com/en-us/library/ms998288.aspx

  2. Può essere causato da ragni, un file robots.txt può aiutare, ma solo se sono ben educati. Una soluzione migliore potrebbe essere quella di registrare l'indirizzo IP dei client che causano l'errore e, se sembrano uno spider, vietare l'indirizzo IP, fare attenzione a non bloccare gli utenti legittimi.

Esempio robots.txt

User-agent: * 
Disallow: /WebSite/ScriptResource.axd 
Disallow: /WebSite/WebResource.axd 

3. La sessione utenti timeout sarà anche causare questo errore.

Speranza una di queste risposte aiuta

Fonti
1) System.Web.HttpException: This is an invalid script resource request
2) http://www.mojoportal.com/Forums/Thread.aspx?pageid=5&mid=34&ItemID=2&thread=4501&pagenumber=1
3) http://www.thestudentroom.co.uk/showthread.php?t=1258531#post25063929

+0

Ecco una risorsa che ho trovato utile: http://blogs.telerik.com/aspnet-ajax/posts/07-03-27 /debugging-asp-net-2-0-web-resources-decrypting-the-url-and-getting-the-resource-name.aspx. C'è un collegamento a una pagina autonoma vicino alla fine dell'articolo. Lo aggiungi al tuo progetto e fai clic su "sfoglia con ..." in Visual Studio. Si incolla la stringa di query d = ... e si indica a cosa si riferisce la stringa di query. – MrBoJangles

+0

Sì, controlla i log, molto probabilmente è googlebot –

3

È possibile che si stia utilizzando AJAX. ScriptResource.axd è un gestore pensato per servire gli script che sono a loro volta memorizzati all'interno dell'assembly.

http://forums.asp.net/t/1258715.aspx

l'URL non è strano se si pensa a questo proposito. Ha due parametri d e t. Puoi riprodurre questo errore a piacimento?

+0

Non siamo in grado di determinare esattamente perché o anche dove si verifica. In ogni caso non siamo mai riusciti a ricreare il problema. Sembra che accada sporadicamente. Fortunatamente, questo non si verifica più di una volta o due volte per tutti i siti che abbiamo un giorno. Ma vorremmo sapere il motivo ... –

+0

Sì, ok, forse la sua AJAX come hai detto tu, ma "noi" non usiamo AJAX nel nostro sito tranne un Compoment che abbiamo comprato da una compagnia di fiducia. Ma c'è qualcosa che possiamo fare per non ricevere questo errore? –

+1

Normalmente, 404 significa che una risorsa non è stata trovata. Ora, questo può essere un messaggio bugiardo, semplicemente perché se ci sono tipi di file bloccati sul tuo server o la scansione dell'URL è installata, la bloccherebbe ogni volta. Dato che hai detto che succede solo una volta ogni tanto, per risolvere il problema, dovresti dare un'occhiata ai tuoi log di IIS e capire quale sia il codice di errore insieme a 404. http://support.microsoft.com/kb/943891 . Notare il codice dopo 404. Controllare l'articolo della Knowledge Base per ulteriori informazioni. 404.6 per esempio sarà verbo negato! –

Problemi correlati