Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article vous aide à résoudre le problème qui se produit lorsque vous ajoutez le paramètre <httpRuntime enableVersionHeader ="false"/> au serveur d’état web.config (master web.config) pour masquer l’en-tête X-AspNet-Version: 2.0.50727 lors de l’utilisation de la gestion de session avec ASP.NET service d’état.
Version du produit d’origine : Microsoft ASP.NET
Numéro de base de connaissances d’origine : 2836759
Symptômes
Lors de l’utilisation de la gestion de session avec ASP.NET service d’état, si vous ajoutez le paramètre <httpRuntime enableVersionHeader ="false"/> au serveur d’état web.config (master web.config) pour masquer l’en-tête X-AspNet-Version: 2.0.50727 , vous pouvez recevoir l’erreur suivante :
HttpException (0x80004005) : impossible d’utiliser le serveur d’état de session, car cette version de ASP.NET nécessite le serveur d’état de session version 2.0 ou ultérieure.
Cette exception se produit la première fois que le cache de session est utilisé après la publication de l’application sur le serveur, ou après le redémarrage d’IIS ou après le recyclage du pool d’applications. Les utilisations suivantes du cache de session après la levée de la première exception n’entraînent pas d’erreur. Le cache de session continue de fonctionner correctement jusqu’à la republiation de l’application suivante, le redémarrage IIS ou le recyclage du pool d’applications.
Cause
L’en-tête X-AspNet-Version: 2.0.50727 est envoyé par le service d’état à IIS. Lors de l’envoi de la réponse à l’application web, le serveur d’état doit inclure cet en-tête.
Si nous ajoutons le paramètre <httpRuntime enableVersionHeader ="false"/> au serveur d’état web.config (master web.config), cet en-tête n’est pas envoyé du serveur d’état à IIS et lève donc l’exception indiquée ci-dessus.
Résolution
Ajouter
<httpRuntime enableVersionHeader ="true"/>au fichier master web.config. Le fichier master web.config se trouve auC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.configniveau ouC:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\CONFIG\web.configen fonction de la bitness.Ajouter
<httpRuntime enableVersionHeader ="false"/>au fichier web.config local de l’application.Note
Veillez à redémarrer le service d’état après les modifications de configuration.
Plus d’informations
Étant donné que l’en-tête X-AspNet-Version: 2.0.50727 est envoyé par le serveur d’état, le paramètre <httpRuntime enableVersionHeader ="true"/> sur le site web.config maître garantit que le serveur d’état envoie l’en-tête à IIS. Lorsqu’il <httpRuntime enableVersionHeader ="false"/> est défini au niveau de l’application web.config, IIS n’envoie pas l’en-tête au navigateur et vous ne pourrez pas voir l’en-tête X-AspNet-Version: 2.0.50727 dans une trace réseau.
Une meilleure façon de surveiller le trafic réseau consiste à définir uniquement <httpRuntime enableVersionHeader ="true"/> dans le fichier master web.config, puis vous verrez dans un suivi réseau l’extrait de code ci-dessous avec les détails du frame envoyés du serveur d’état à IIS par ASPNET.
00 15 5D F4 C0 6D 00 15 5D F1 3E 65 08 00 45 00 00 7A 79 D2 40 00 80 06 00 00 AC 16 F2 11 AC 16
F2 2F A5 B8 12 E4 2E 55 75 CA 57 D4 A3 18 50 18 FF 15 3C DB 00 00 32 30 30 20 4F 4B 0D 0A 58 2D
41 73 70 4E 65 74 2D 56 65 72 73 69 6F 6E 3A 20 32 2E 30 2E 35 30 37 32 37 0D 0A 43 61 63 68 65
2D 43 6F 6E 74 72 6F 6C 3A 20 70 72 69 76 61 74 65 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74
68 3A 20 30 0D 0A 0D 0A
..]ôÀm..]ñ>e..E..zyÒ@.?...¬.ò.¬.ò/¥¸.ä.UuÊWÔ£.P.ÿ.<Û..200 OK..X-AspNet-Version: 2.0.50727..
Cache-Control: private..Content-Length: 0....