2010-11-01 10 views
16

Nous détectons cette erreur sporadiquement. Est-ce que quelqu'un sait ce que cela pourrait être?ScriptResources Erreur: Ceci est une requête de ressource de script non valide

L'URL donner par notre journalisation des erreurs obtenir cette URL bizarre pour cette erreur:

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

Et l'erreur est:

Error : This is an invalid script resource request.

Nous obtenons également la stacktrace:

System.Web.HttpException: Ceci est une requête de ressource de script non valide. à System.Web.Handlers.ScriptResourceHandler.Throw404() à System.Web.Handlers.ScriptResourceHandler.ProcessRequest (HttpContext contexte) à System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext contexte) à System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() à System.Web.HttpApplication.ExecuteStep (étape IExecutionStep, Boolean & completedSynchronously)

Que pourrait-il être? Et comment peut-il être résolu?

Répondre

29

Je reçois cette erreur assez souvent, en faisant quelques recherches que j'ai trouvé ce qui suit.

  1. Si vous avez une batterie de serveurs Web clés de la machine pourraient ne pas être mis en place, si tel est le cas, vous pouvez résoudre le problème en définissant la clé de la machine pour chaque serveur dans votre batterie de serveurs Web. L'erreur peut également se produire si la touche de la machine change entre les publications, ce qui peut parfois se produire. Je crois que si vous n'utilisez pas une ferme Web cela ne se produit pas très souvent. Si vous avez une ferme Web c'est la cause la plus probable.
    http://msdn.microsoft.com/en-us/library/ms998288.aspx

  2. Elle peut être causée par des araignées, un fichier robots.txt peut aider, mais seulement si elles sont bien comportés. Une meilleure solution pourrait consister à consigner l'adresse IP des clients à l'origine de l'erreur et, s'ils ressemblent à une araignée, à interdire l'adresse IP, veillez toutefois à ne pas bloquer les utilisateurs légitimes.

Exemple robots.txt

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

3. Le calendrier de la session des utilisateurs sur également provoquer cette erreur.

L'espoir de ces réponses aide

Sources
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

Voici une ressource que j'ai trouvée utile: http://blogs.telerik.com/aspnet-ajax/posts/07-03-27 /debugging-asp-net-2-0-web-resources-decryptage-the-url-and-getting-the-resource-name.aspx. Il y a un lien vers une page autonome vers la fin de l'article. Vous l'ajoutez à votre projet et cliquez sur "Parcourir avec ..." dans Visual Studio. Vous collez la chaîne de requête d = ... et elle vous indique ce que la chaîne de requête fait référence. – MrBoJangles

+0

Oui, vérifiez vos journaux - c'est probablement googlebot –

3

Vous utilisez peut-être AJAX. ScriptResource.axd est un gestionnaire destiné à servir vos scripts qui sont à leur tour stockés dans votre assembly.

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

L'URL est pas bizarre si vous pensez à ce sujet. Il a deux paramètres d et t. Pouvez-vous reproduire cette erreur à volonté?

+0

Nous ne sommes pas en mesure de déterminer exactement pourquoi ou même où il se produit. Nous n'avons jamais réussi à recréer le problème. Il semble que cela arrive sporadiquement. Heureusement, cela ne se produit pas plus d'une ou deux fois pour tous les sites que nous avons par jour. Mais nous aimerions savoir la raison ... –

+0

Ouais ok, peut-être son AJAX comme vous l'avez dit mais, "nous" n'utilisons pas AJAX dans notre site à l'exception d'un Compoment que nous avons acheté auprès d'une société de confiance. Mais y a-t-il quelque chose que nous puissions faire pour arrêter de recevoir cette erreur? –

+1

Normalement, 404 signifie qu'une ressource est introuvable. Maintenant, il peut s'agir d'un message de menteur, simplement parce que s'il y a des types de fichiers bloqués sur votre serveur ou que l'URL d'analyse est installée, elle le bloquera à chaque fois. Puisque vous avez dit que cela n'arrive qu'une fois de temps en temps, pour le dépanner, vous devriez jeter un oeil à vos journaux IIS et comprendre ce qu'est le code d'erreur avec 404. http://support.microsoft.com/kb/943891 . Notez le code après 404. Consultez l'article de la base de connaissances pour en savoir plus. 404.6 par exemple sera verbe refusé! –