Tracer l'arrêt du pool d'application
En cherchant des solutions concernant l'arrêt intempestif du pool d'application lors de la suppression d'un répertoire dans l'arborescence du site web (voir post précédent), je suis tombé sur ce bout de code bien pratique de Scott Guthrie : http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx
Ce bref morceau de code permet de récupérer les informations (message et stacktrace) concernant l'arrêt ou le recyclage d'un pool d'application d'un site ASP.NET ce qui peut être important dans le cadre du debug ou tout simplement du monitoring applicatif.
Dans le fichier Global.asax ajouter simplement :
public void Application_End()
{
HttpRuntime runtime = (HttpRuntime) typeof(HttpRuntime).InvokeMember("_theRuntime",
BindingFlags.NonPublic
| BindingFlags.Static
| BindingFlags.GetField,
null,
null,
null);
if (runtime == null)
return;
string shutDownMessage = (string) runtime.GetType().InvokeMember("_shutDownMessage",
BindingFlags.NonPublic
| BindingFlags.Instance
| BindingFlags.GetField,
null,
runtime,
null);
string shutDownStack = (string) runtime.GetType().InvokeMember("_shutDownStack",
BindingFlags.NonPublic
| BindingFlags.Instance
| BindingFlags.GetField,
null,
runtime,
null);
//TODO: Trace de shutDownMessage et de shutDownStack
}
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 :