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

- ProcDump 6.0 : support du filtrage sur messages d'exceptions .NET, des filtres multiples et du ciblage par nom de service par CoqBlog le 05-20-2013, 14:50

- Votez pour le TOP 10 des influenceurs SharePoint francophones ! par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 12:59

- [Conf’SharePoint] Dernier rappel ! :-) par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:09

- [ #SharePoint 2013 ] les modèles de sites standards… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:03

- 10 erreurs de compréhension concernant SharePoint… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 08:27

- Conf’SharePoint : 10 bonnes raisons pour ne pas la rater par Le petit blog de Pierre / Pierre's little blog le 05-14-2013, 02:24

- [Event] Soirée de lancement Agile .NET France à Lyon par Blog Agile/ALM de Vincent THAVONEKHAM le 05-13-2013, 01:29

- .NET / Debug : inspection de la mémoire d'applications .NET (dump ou processus live) : première livraison d'une librairie .NET par Microsoft par CoqBlog le 05-11-2013, 22:21

- SharePoint : Incompatibilité avec Internet Explorer 10 (IE10) par Blog Technique de Romelard Fabrice le 05-08-2013, 16:29

- AutoSPInstaller pour SharePoint 2013 maintenant disponible en “RTM” par Julien Chable le 05-06-2013, 23:30