Outils pour utilisateurs

Outils du site


tips_informatiques:developpement_web:asp:net:asp.net

Désactiver le File Change Notifications (FCN) dans une application Web

Version: ASP:Net 1.0 - 2.0

Problème:

Par défaut, une application ASP.Net écoute les changements dans la structure du site, et redémarre en cas de modification. Cela peut être très gênant si l'application web doit créer / effacer des dossiers, puisque l'ensemble des sessions en cours sont détruites.

Solution:

Il est possible de désactiver le FCN programatiquement, par exemple au démarrage de l'application dans le global.asax:

PropertyInfo p = typeof(System.Web.HttpRuntime).GetProperty("FileChangesMonitor", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static);
object o = p.GetValue(null, null);
FieldInfo f = o.GetType().GetField("_dirMonSubdirs", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase);
object monitor = f.GetValue(o);
MethodInfo m = monitor.GetType().GetMethod("StopMonitoring", BindingFlags.Instance | BindingFlags.NonPublic);
m.Invoke(monitor, new object[] { });

Remarque:

Les dossiers contenant les DLL ainsi que le Web.config continue d'être monitoré.

tips_informatiques/developpement_web/asp/net/asp.net.txt · Dernière modification: 2009/06/22 00:00 (modification externe)