J'ai une application ASP .Net qui fonctionne sur IIS7. J'utilise l'url actuelle du site pour définir certaines propriétés statiques d'une classe de mon application. Pour ce faire, je récupère le nom de domaine en utilisant ceci (dans le constructeur statique de la classe) :
var host = HttpContext.Current.Request.Url.Host;
Et cela fonctionne bien sur ma machine de développement (Windows XP / Cassini). Cependant, lorsque je déploie sur IIS7, j'obtiens une exception : "La requête n'est pas disponible dans ce contexte".
Je suppose que c'est parce que j'utilise ce code dans le constructeur statique d'un objet, qui est exécuté dans IIS avant que les demandes arrivent ; et Cassini ne déclenche pas le constructeur statique jusqu'à ce qu'une demande arrive. Maintenant, je n'aimais pas à l'origine l'idée de tirer le nom de domaine de la requête pour cette même raison, mais c'était le seul endroit où je l'ai trouvé =)
Alors, quelqu'un connaît-il un autre endroit où je peux obtenir le nom de domaine hôte ? Je suppose que ASP.Net doit le savoir à un certain niveau, indépendamment de HttpRequests, mais je ne sais pas comment y accéder.