comment redémarrer asp.net demande en outre la modification de web.config
Est-il recommandé de faire rebondir une asp.net demande en outre de toucher web.config à partir de l'intérieur de l'application? est HttpRuntime.UnloadAppDomain()
; la meilleure façon de le faire ? et si oui, où avez-vous le faire? Dans le décharger d'une page ou d'un autre endroit dans l'application?
Vous devez vous connecter pour publier un commentaire.
Si ce n'est .NET 2.0 ou plus, vous pouvez ajouter dans un "App_offline.htm" fichier, faire une demande au serveur, la supprimer, et ensuite faire une autre demande pour le serveur.
Cette séquence d'événements de force ASP.NET pour décharger l'application tant que l'app_offline.htm fichier existe dans le dossier.
Scott Guthrie entrée de blog sur elle:
http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx
Toucher web.config à partir de l'intérieur d'une application est une mauvaise idée, de l'OMI. Aussi, l'idée d'avoir un fichier que vous modifiez est un peu hackney, de l'OMI.
La documentation précise que
UnloadAppDomain
va fermer l'application:Vous devriez être en mesure de faire cet appel n'importe où dans l'application. Rappelez-vous, vous pourriez obtenir un
SecurityException
, alors assurez-vous que le moteur d'exécution vous donne les autorisations appropriées (vous pouvez mettre cela dans une bibliothèque et de faire un appel, puis la valeur de la bibliothèque dans le GAC, avec des preuves à donner pleine confiance).ce code fonctionne pour moi. appelez simplement pour recharger application.
Lire plus
Vous pouvez démarrer et arrêter le Pool d'Applications associées à l'application aussi bien.
Vous pouvez le faire en appelant le HttpRuntime.ShutdownAppDomain méthode (vous aurez besoin d'utiliser la réflexion pour l'invoquer, car il est privé de la méthode statique)
Voir Comment redémarrer un Processus de travail IIS par programme (c'est à dire l'arrêt de l'actuel ASP.NET de Domaine) pour un exemple de la façon dont j'utilise cette méthode dans un "Restart" API REST
Vous en toute sécurité de redémarrer une application web de création ou de renommer un dossier au moment de l'exécution sous le répertoire de l'application. Évidemment, vous devez donner à l'utilisateur affecté à l'exécution de l'application "modifier" droits sur le répertoire web ou un sous-répertoire sous elle.
la méthode est mentionné à
http://www.bartlannoeye.be/blog/restarting-a-.net-web-application-without-restarting-iis
J'ai utilisé le code suivant pour le faire dans mon cas. Modifier pour fonctionner sur une "écriture" sous-répertoire
Si vous ne voulez pas vous arrêter et de démarrer l'application de la piscine vous pouvez toujours recycler.