2009-05-04 8 views
3

Je suis sûr que j'ai déjà fait cela auparavant, mais je suis dans les docs depuis un moment, et je n'arrive pas à le faire. le retrouver. Je dois être capable de déterminer au moment de l'exécution dans mon domaine d'affaires dans quel contexte mon application s'exécute. Ainsi, je peux faire un changement avec les fichiers de configuration et utiliser la méthode appropriée pour déterminer si je cours en débogage ou en release etc. J'étais assez confiant que c'était dans System.Environment, mais je ne l'ai pas encore rencontré..net Déterminez au moment de l'exécution si mon application est un exe ou une application Web

Répondre

7

méthode très simple:

bool isWebApp = HttpContext.Current != null; 

fonctionne comme un charme à chaque fois.

+0

+1 Battez-moi, je vais supprimer ma réponse –

+1

Notez que je ne pense pas que cela fonctionnera à l'intérieur d'un thread de travail qui a été déclenché par l'application web. Dans ce cas, vous pouvez probablement transmettre une variable prédéfinie. –

4

J'ai trouvé la façon dont je l'avais fait plus tôt finalement.

bool isWebApp = System.Web.HttpRuntime.AppDomainId != null; 

C'est à peu près la même chose que la réponse de Nathan. Merci pour la réponse.