Disons que j'héberge un site Web à l' adresse http://www.foobar.com .
Existe-t-il un moyen de vérifier par programmation "http://www.foobar.com/" dans mon code (sans avoir à le coder en dur dans ma configuration Web)?
Disons que j'héberge un site Web à l' adresse http://www.foobar.com .
Existe-t-il un moyen de vérifier par programmation "http://www.foobar.com/" dans mon code (sans avoir à le coder en dur dans ma configuration Web)?
Pour ceux qui le demandent encore, une réponse plus complète est disponible à l’ adresse http://devio.wordpress.com/2009/10/19/get-absolut-url-of-asp-net-application/ .
public string FullyQualifiedApplicationPath
{
get
{
//Return variable declaration
var appPath = string.Empty;
//Getting the current context of HTTP request
var context = HttpContext.Current;
//Checking the current context content
if (context != null)
{
//Formatting the fully qualified website url/name
appPath = string.Format("{0}://{1}{2}{3}",
context.Request.Url.Scheme,
context.Request.Url.Host,
context.Request.Url.Port == 80
? string.Empty
: ":" + context.Request.Url.Port,
context.Request.ApplicationPath);
}
if (!appPath.EndsWith("/"))
appPath += "/";
return appPath;
}
}
HttpContext.Current.Request.Url peut vous obtenir toutes les informations sur l'URL. Et peut décomposer l'URL en ses fragments.
Pour obtenir la chaîne d'URL de requête complète:
HttpContext.Current.Request.Url
Pour obtenir la partie www.foo.com de la demande:
HttpContext.Current.Request.Url.Host
Notez que vous êtes, dans une certaine mesure, à la merci de facteurs extérieurs à votre application ASP.NET. Si IIS est configuré pour accepter plusieurs en-têtes ou n'importe quel en-tête d'hôte pour votre application, l'un des domaines résolus en votre application via DNS peut s'afficher en tant qu'URL de demande, en fonction de celui que l'utilisateur a saisi.
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.