Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    N'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

Bug IE8 – Invalid viewstate lors de chargement des fichiers ScriptResource.axd et WebResource.axd

Depuis quelques temps, on m’a remonté des soucis avec les fichiers ScriptResource.axd ou WebResource.axd.

L’erreur que l’on obtient est “System.Web.HttpException: Invalid viewstate

[HttpException (0x80004005): Invalid viewstate.] System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) +2648697 System.Web.UI.Page.DecryptString(String s) +30 System.Web.Handlers.ScriptResourceHandler.DecryptParameter(NameValueCollection queryString) +81 System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponse response, NameValueCollection queryString, VirtualFileReader fileReader) +45 System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context) +184 System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) +7 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

L’url posant problème était toujours composée de la clé identifiant le script à charger ainsi que de données aléatoires ressemblant à un submit d’un formulaire avec la méthode GET ou d’autres valeurs provenant de fonctions JavaScript. Par exemple :

/WebResource.axd?d=D-wd7RbHCvS/../../images/icons/Ico_resize.gif')}}function%20ShowFilter_Manufacturer(){var%20div.......

Jusque la, je me suis dit qu’il s’agissait surement d’un navigateur ou d’un robot mal codé. Mais récemment on m’a remonté ce problème sur un intranet avec un panel d’utilisateurs très restreint, de plus le problème survient de plus en plus souvent et sur différents sites.

J’ai réussit à le reproduire une fois, le problème ne survient sans raison particulière, très rarement. Puisqu’il s’agit d’une erreur lors du chargement d’un fichier externe, aucune erreur n’est remontée au client. Cependant lorsque cela se produit, le navigateur est figé lors du chargement de la page, il faut alors la rafraichir manuellement.

Après quelques recherches, j’ai trouvé d’autres personnes rencontrant le même souci. Il semblerait que le problème provient d’un bug de IE8 ! Dans certains cas IE8, construirait mal les urls de fichiers externes !

Le bug a été remonté à Microsoft via Connect, je vous invite tous à voter pour le bug afin que l’on obtienne une correction rapide de IE8 : [Connect] Feedback : Invalid Webresource.axd parameters being generated 


Mais à quoi sert ces fichiers ScriptResource.axd et WebResource.axd ?

Ces handlers permettent de retourner une ressource stockée dans une assembly.

Par exemple, si vous construisez un contrôle, il est possible que vous ayez besoin d’images ou de fichiers JavaScript. Afin de faciliter le déploiement, vous pouvez inclure ces ressources directement dans une assembly, celles ci seront alors accessible via les handler ci-dessus. Pour cela, ces handlers nécessitent une clé contenant le nom de la ressource et de l’assembly chiffré en base64. L’algorithme de chiffrement et de déchiffrement utilisé et le même que celui du viewstate.
Le code de l’algorithme a été conçut en pensant que seule le viewstate l’utiliserait. Lorsqu’un problème survient lors du déchiffrage de la clé, une exception parlant de viewstate est remonté.
Malgré que le message d’erreur parle de viewstate, il est en aucun cas question de viewstate ! Le problème provient du déchiffrage de la clé de ressource.

Et vous, avez vous rencontré le même genre de bug sur vos sites web ? Toujours avec IE8 ?

Posted: dimanche 14 juin 2009 19:16 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

KooKiz a dit :

Encore jamais rencontré ce problème.

Il faudrait peut être noter méthodiquement les URL des ressources quand le problème survient, il y a peut être une suite de caractères en particulier qui pose problème...

# juin 15, 2009 09:54

Promesses a dit :

Bonjour Cyril,

mon message n'a pas tout à fait a voir avec le post.

Est ce que si les fichiers sont en ressources directement dans les projets, leur chargement sera plus rapide qu'ils étaient téléchargés comme habituellement ?

(je parles des images et des JS)

# juin 18, 2009 14:04

cyril a dit :

@Promesses > Non, les images et les js ne seront pas chargés plus rapidement, c'est exactement la meme chose.

# juin 22, 2009 12:37

Alexandre Marlot a dit :

Salut Cyril,

Nous rencontrons également ce problème sur un de nos site que nous venons de passer en production !

Le problème se produit uniquement sur IE8.

As tu résolu le problème (si oui, comment ?) ? ou alors as tu laissé tel quel ?

Merci d'avance,

# février 3, 2010 10:13

cyril a dit :

Il s'agit d'un bug au niveau de IE, il y a une mis à jour ... il n'y a donc rien à faire.

# février 3, 2010 11:09
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01