2010-05-26 6 views
1

J'ai une application qui envoie un courrier électronique à un utilisateur pour lui permettre d'accéder à un formulaire Web. Dans l'email il y a juste un lien vers la page d'accueil de ce formulaire. Actuellement, j'ai la valeur pour l'emplacement du formulaire codé en dur. Une fois l'application déployée, je sais qu'elle se trouve dans inetpub/wwwroot/appName, ce qui donne une URL de serverip: appPort/appName.Adresse du serveur d'applications déployé ASP.NET MVC

Quel est le C# pour obtenir la partie serverip: appPort de l'URL dont j'ai besoin?

Je pense que server.mappath() peut fonctionner, mais pour une raison quelconque je ne peux pas accéder à la méthode même si j'ai les références nécessaires.

Remarque: Je vais déployer cette application sur plusieurs serveurs différents et ne veux tout simplement pas avoir à coder l'adresse IP à chaque fois que je redéploie.

+1

Veuillez ne pas placer de balises (C#) dans la ligne de titre. C'est ce que nous avons pour les tags. –

+0

Désolé à ce sujet. –

Répondre

3

Essayez

HttpContext.Current.Request.ServerVariables ("HTTP_HOST"), cela devrait vous donner le nom d'hôte.

ce lien vous montrera comment obtenir toutes les clés dont vous pourriez avoir besoin pour obtenir le port et l'application (si vous ne les avez pas déjà). http://msdn.microsoft.com/en-us/library/system.web.httprequest.servervariables.aspx

+0

Elles peuvent également être utiles: Request.ServerVariables ["SERVER_NAME"] Request.ServerVariables ["SERVER_Port"] Request.ServerVariables ["QUERY_STRING"] – Jay

Questions connexes