在side class中使用子域提取域

时间:2013-07-03 14:04:02

标签: c# asp.net asp.net-3.5

我有ASP.NET 3.5 Web application with C# 2008

我需要做的是,我想从当前URL中提取类方法中的完整域名。

例如:

我的目前网址如下:

http://subdomain.domain.com/pagename.aspx

OR

https://subdomain.domain.com/pagename.aspx?param=value&param2=value2

然后result应该是,

http://subdomain.domain.com

OR

https://subdomain.domain.com

2 个答案:

答案 0 :(得分:5)

您正在寻找Uri班级:

new Uri(str).GetLeftPart(UriPartial.Authority)

答案 1 :(得分:2)

创建Uri并查询Host属性:

var uri = new Uri(str);
var host = uri.Host;

(后)

我刚刚意识到你想要方案这个域。在这种情况下,@ SLaks答案是你想要的。你可以通过组合uri.Schemeuri.Host来实现这一点,但对于像mailto网址等这样的事情可能会变得混乱。