.Request.Url.Host不显示子域

时间:2018-09-03 15:10:19

标签: c# asp.net binding asp.net-4.0 httpcontext

我已经在我的applicationhost.config中设置了绑定,以使子域适用于我在本地测试的项目。

 <bindings>
    <binding protocol="http" bindingInformation="*:62914:localhost" />
    <binding protocol="http" bindingInformation="*:62914:de.localhost" />
 </bindings>

我可以通过子域访问该站点,并看到它在localhost上运行。

我希望能够读取该子域。我使用了以下代码。

 var host = HttpContext.Current.Request.Url.Host;
 var index = host.IndexOf(".");
 string[] segments = HttpContext.Current.Request.Url.PathAndQuery.Split('/');

  if (index < 0)
    return null;

  var subdomain = host.Substring(0, index);

  return subdomain;

问题是HttpContext.CurrentRequest.Url在字符串中没有子域。

如何读取子域?

1 个答案:

答案 0 :(得分:0)

使用Request.Url.AbsoluteUri,您可以获得包括子域在内的完整URL。 here中描述了完整的方法。