6 votes

Comment obtenir le nom de domaine de l'hôte en ASP .NET sans utiliser HttpContext.Current.Request ?

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X