2008-10-13 32 views

回答

12

這項工作?

HttpContext.Current.Request.Url 

UPDATE:

爲了讓你可以使用基本的URL:我想出這個

HttpContext.Current.Request.Url.GetComponents(UriComponents.SchemeAndServer, UriFormat.Unescaped) 
+0

感謝亞歷山大 - 我使用HttpContext的這一部分制定了一些東西。 – Guy 2008-10-13 01:35:45

+0

你節省了我的時間! – Sreejith 2017-03-27 11:43:40

0

您可以使用Assembly.GetExecutingAssembly()來獲取DLL的程序集對象。

然後,調用Server.MapPath,傳入該程序集的FullPath以獲取本地根路徑。

+0

我正在尋找該網站的網址,而不是目錄路徑。謝謝! – Guy 2008-10-13 00:45:18

0

雖然我不知道這是否是最好的解決辦法:

string _baseUrl = String.Empty; 
HttpContext httpContext = HttpContext.Current; 
if (httpContext != null) 
{ 
    _baseURL = "http://" + HttpContext.Current.Request.Url.Host; 
    if (!HttpContext.Current.Request.Url.IsDefaultPort) 
    { 
     _baseURL += ":" + HttpContext.Current.Request.Url.Port; 
    } 
} 
1

如果它是一個可能被非web項目引用的程序集,那麼你可能想要避免使用System.Web名稱步伐。

我會用DannySmurf的方法。

1

亞歷山大說,你可以使用HttpContext.Current.Request.Url,但如果你不希望使用http://:

HttpContext.Current.Request.Url.GetComponents(UriComponents.HostAndPort, UriFormat.Unescaped);