ASP.NET l'API Web: Comment avez-vous lu les variables de serveur dans un site Web API contrôleur?
Comment feriez-vous pour lire la suite de variables de serveur dans un ASP.NET API Web contrôleur?
HTTP_HOST
SERVER_NAME
REMOTE_HOST /REMOTE_ADDR
Je vois un Système.Net.Http.HttpRequestMessage Demande définie, mais je ne vois pas un recueil contenant ces variables.
Je suis à court d'un site web sur une seule adresse IP avec plusieurs en-têtes d'hôte et j'ai besoin de déterminer quel site ils utilisés pour y arriver.
EDIT:
Il a fini par être quelque chose comme ceci:
((System.Web.HttpContextWrapper) Request.Properties["MS_HttpContext"])
.Request.ServerVariables["HTTP_HOST"]
cela pourrait-il être ce que vous êtes à la recherche de: stackoverflow.com/questions/9565889/...
C'est très similaire oui.
C'est très similaire oui.
OriginalL'auteur Zachary Scott | 2013-05-02
Vous devez vous connecter pour publier un commentaire.
Les informations que vous recherchez dépend de l'accueil que vous utilisez et de l'API Web est conçu pour être l'hôte indépendante. Donc.... les informations que vous recherchez sera enterré dans le httpRequestMessage.Collection de propriétés et il sera différent en fonction de votre hôte.
Si vous vous déplacez à l'aide de la Owin adaptateur, alors vous obtiendrez un standardisé Owin objet de l'environnement.
Request.Properties["MS_HttpContext"].Request.Url
avec UrlReferrer. La grande question est de savoir s'il représente l'en-tête d'hôte du site qu'ils ont visités.Je me demande si msdn.microsoft.com/en-us/library/... c'est une manière cohérente de lire cette information, indépendamment de l'environnement hébergé?
((System.Web.HttpContextWrapper)Request.Properties["MS_HttpContext"]).Request.ServerVariables["HTTP_HOST"]
Le dr Zim, votre commentaire mérite sa propre réponse. Je reviens à ce que chaque fois dans un certain temps et ont à lire toute la page avant que je trouve votre commentaire.
OriginalL'auteur Darrel Miller
J'ai été capable de toutes les informations provenant de l'RequestUri dans la Demande
OriginalL'auteur TombMedia
Tout comme ce
Vous pouvez poster votre code source. Aussi, vérifiez que vous avez
using System; using System.Web.Mvc;
en haut du fichierSystème; Le Système.Les Collections.Générique; Système.Linq; System.Net; Système.Net.Http; Système.Web.Http; Parce que c'est un MVC de l'API, il ne semble pas que l'utilisation normale de l'Objet Request
C'est MVC API. Ceux sont ceux prévus dans le projet à partir de MS? Je suis la recherche de l'API est très différent d'un Contrôleur standard.
vous utilisez un Contrôleur, WebAPI utilise ApiController. Deux types complètement différents des bêtes.
OriginalL'auteur Jason Jong