OVH Cloud OVH Cloud

Web.config / IISRESET

6 réponses
Avatar
charles_blanchet
Bonjour,
j'ai entendu dire qu'une modification du Web.config effectuait une
r=E9initialisation du site dans lequel il est pr=E9sent. Est-ce vrai?

Le probl=E8me que j'ai, c'est que j'ai plusieurs sites Web et services
Web sur le m=EAme serveur. Lorsque je fais une modification au niveau
d'une DLL qui est dans le GAC (Global assembly Cache) et que celle-ci
est utilis=E9e par un de mes sites Web, le site Web utilise toujours
l'ancienne version. Pour que le site prenne la nouvelle version, je
dois effectuer un IISRESET.

Malheureusement, un IISRESET arr=EAte le service au complet donc il
impacte tous mes autres sites et services.

Est-ce qu'il y a un moyen de r=E9initialis=E9 seulement mon site Web,
pour que celui-ci prenne la nouvelle version de la DLL dans le GAC au
lieu de celle qui est en m=E9moire ?

J'ai IIS 5.

Mercim beaucoup pour votre aide.

6 réponses

Avatar
Guillaume Davion
Normalement, l'application (et non le site) est effectivement
ré-initialisée lors d'un changement de web.config. Je ne suis par
contre pas sûr à 100% qu'il recharge toutes les dll du GAC. Tu peux
peut-être tenter de redéployer les dll de ton site dans le
répertoire bin.
Si ca ne suffit pas, tu peux peut-être tenter de killer le processus
aspnet_wp.exe, mais ca causera les mêmes effets qu'un iisreset, même
si le temps d'arrêt sera beaucoup moins long
Avatar
charles_blanchet
Merci de ta réponse.

La façon que je procède c'est que lorsque j'installe une composante,
je le fais avec l'aide de fichiers MSI. Avant toute installation d'un
MSI comprenant de nouvelles composantes, je déinstalle l'ancienne
version (msiexec /x ...), ce qui a pour effet d'enlever les composantes
du serveur. Je réinstalle ensuite le msi comprenant les nouvelles
composantes. Donc je redéploie mes DLL de mon site et même plus, je
spprime mon site et ensuite je le réinstalle completement.

J'ai fait plusieurs tests en faisant des modifications au niveau du
Web.config, mais sans succès. Comme tu dis, il semble que ça ne
recharge pas toutes les DLL. Pour ce qui est aspnet_wp, il est sur que
je ne serais pas plus avancé :oP

Merci de ton aide.

Autres idées ???
Avatar
Lionel LASKE
Si tu modifies une DLL dans le GAC, on peut supposer que tu as modifié le
numéro de version, de release ou de build de ta DLL. Dans ce cas, il devrait
suffir de modifier ton Web.Config (même en mettant simplement une ligne
blanche) pour qu'il recharge la DLL.
Voir plus de détail sur le post:
http://groups.google.fr/group/microsoft.public.dotnet.framework.aspnet/browse_thread/thread/ff29cc370678911d/c0db5b7e3da283b9?q=web.config+gac+reload&rnum=1&hl=fr#c0db5b7e3da283b9

Lionel.


a écrit dans le message de news:

Bonjour,
j'ai entendu dire qu'une modification du Web.config effectuait une
réinitialisation du site dans lequel il est présent. Est-ce vrai?

Le problème que j'ai, c'est que j'ai plusieurs sites Web et services
Web sur le même serveur. Lorsque je fais une modification au niveau
d'une DLL qui est dans le GAC (Global assembly Cache) et que celle-ci
est utilisée par un de mes sites Web, le site Web utilise toujours
l'ancienne version. Pour que le site prenne la nouvelle version, je
dois effectuer un IISRESET.

Malheureusement, un IISRESET arrête le service au complet donc il
impacte tous mes autres sites et services.

Est-ce qu'il y a un moyen de réinitialisé seulement mon site Web,
pour que celui-ci prenne la nouvelle version de la DLL dans le GAC au
lieu de celle qui est en mémoire ?

J'ai IIS 5.

Mercim beaucoup pour votre aide.
Avatar
charles_blanchet
Donc pour que ma DLL soit rechargée, je dois faire une modification de
ma version, par contre je ne veux pas aller vers cette technique, car
je serais obligé de refaire la compilation de mes sites et Web
Services qui appelent cette DLL.

Est-ce que il faut vraiment changer le numéro de version pour que le
modification du Web.config recharge ma DLL ?
Avatar
charles_blanchet
Donc pour que ma DLL soit rechargée, je dois faire une modification de
ma version, par contre je ne veux pas aller vers cette technique, car
je serais obligé de refaire la compilation de mes sites et Web
Services qui appelent cette DLL.

Est-ce que il faut vraiment changer le numéro de version pour que le
modification du Web.config recharge ma DLL ?
Avatar
Paul Bacelar
Dans le Web.config, on peut spécifier les versions des dll qui ont
précédences sur les versions enregistrées au moment de la compilation des
assemblies.
--
Paul Bacelar

wrote in message
news:
Donc pour que ma DLL soit rechargée, je dois faire une modification de
ma version, par contre je ne veux pas aller vers cette technique, car
je serais obligé de refaire la compilation de mes sites et Web
Services qui appelent cette DLL.

Est-ce que il faut vraiment changer le numéro de version pour que le
modification du Web.config recharge ma DLL ?