Déterminer si ASP.NET l'application est en cours d'exécution en local
Je veux savoir si il y a une méthode recommandée pour déterminer si une application asp est exécuté localement. En ce moment j'utilise l'objet de la Requête et de faire une recherche de chaine pour localhost ou 127.0.0.1 sur le serveur variable, mais cela a plusieurs limitations. Le plus important étant que l'objet de la Requête n'est pas toujours disponible quand j'en ai besoin.
Vous devez vous connecter pour publier un commentaire.
Voir HttpRequest.IsLocal
Vous pouvez vérifier la Demande.IsLocal propriété
Cela a fonctionné pour moi avec Application_Start
Pour en savoir plus sur la façon IsDevelopmentEnvironment est réglé, merci de regarder le fil de discussion suivant.
Dans ASP.NET, ce qui détermine la valeur de HostingEnvironment.IsDevelopmentEnvironment?
Demande.IsLocal est la même que la vérification des 127.0.0.1 ou ::1. Voir ce post: http://forums.asp.net/p/1065813/4081335.aspx.
IsLocal
également fait référence au moment où vous en visitant le site IIS à partir de la MÊME machine. Faire affiche également YSOD détaillée des messages d'erreur par défaut aussi, à partir de la machine locale.Si HttpContext.Courant n'est pas nul utilisation
Autrement, par exemple dans le App_Start ou avant HttpContext.Le courant est disponible, vous pouvez tester
ou un disque dédié sur votre PC.
Une autre façon peut-être utiliser une constante de compilation de l'ensemble de variable dans la production, par exemple à partir d'Azur et visualstudio.com si vous les utilisez.
C'est sale, mais il fonctionne.
Dans un MVC vue /page ASP /code-behind de la classe:
Dans un contrôleur MVC :
Demande n'est pas toujours disponible dans ASP.NET de l'environnement?
HttpContext et ses propriétés de Requête/Réponse sont initialisés dès que le serveur démarre le traitement de la page. Si à n'importe quel endroit, vous pouvez exécuter le code c# dans votre page cycle de vie, vous devriez être en mesure de vérifier l'url de la requête.
Application_Start
est exécutée sans HTTPContext.Application_Start
peut-être toujours en cours d'exécution en arrière-plan. Aussi la question n'a rien à voir avec les demandes de page.