在webapi方法中获取主机名

时间:2017-04-13 06:13:56

标签: c# asp.net asp.net-web-api

我想将网站网址添加到我的webapi方法中。 例如 我的网站名称是abc.com,我的api方法网址是xyz.com/getdetails?a=1 现在在我的webapi控制器上,我希望得到abc.com网址,以便从这个方法中识别出来。

4 个答案:

答案 0 :(得分:2)

您将获得一些完整的信息以及托管api的端口。但是您需要添加System.Web才能使其正常工作。

HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.ApplicationPath.TrimEnd('/');

答案 1 :(得分:0)

试试这个:

HttpContext.Current.Request.UserHostName;

HttpContext.Current.Request.UserHostAddress;

不要忘记添加using System.Web;

答案 2 :(得分:0)

我相信你需要引用网址。

Request.UrlReferrer

答案 3 :(得分:0)

如果您不使用OWIN,那么

HttpContext.Current.Request.Url.Host

那是在System.Web名称空间中

如果您使用的是OWIN,而不是使用提供经典asp.net Microsoft.Owin.Host.SystemWeb的{​​{1}} nuget包,那么您也可以从OWIN上下文中获取它像这样:

HttpContext

GetOwinContext扩展功能由Microsoft.AspNet.WebApi.Owin nuget包提供。