您将如何在ASP.NET Web API控制器中读取以下服务器变量?
HTTP_HOST SERVER_NAME REMOTE_HOST / REMOTE_ADDR
我看到一个System.Net.Http.HttpRequestMessage请求定义,但我看不到包含这些变量的集合.
我在一个IP上运行一个网站,具有多个主机头,我需要确定他们用于到达哪个站点.
编辑:
最终是这样的:
((System.Web.HttpContextWrapper) Request.Properties["MS_HttpContext"]) .Request.ServerVariables["HTTP_HOST"]
解决方法
您正在寻找的信息取决于您正在使用的主机,Web API被设计为独立于主机.所以….你正在寻找的信息将被埋在httpRequestMessage.Properties集合中,它将根据你的主机而有所不同.
如果您转向使用Owin适配器,那么您将获得一个标准化的Owin环境对象.